Подразумеваемые неймспейсы или неявные пакеты.
Этот функционал добавлен в Python 3.3
Что он означает?
Ранее, до 3.3 пакетами считались лишь директории, в которых есть файл __init__.py.
Этот файл одновременно являлся свидетельством того, что директория это Python-пакет, и служил "телом" этого пакета. То есть местом, где можно написать код, как это делается внутри модуля. Этот код исполняется в момент импорта пакета, так что его принято называть "код инициализации пакета".
Начиная с версии 3.3 Любая директория считается пакетом и Python будет пытаться использовать любую директорию для импорта.
Конечно, не любую в файловой системе, а только те что находятся в sys.path.
Это значит, что теперь __init__.py нужно делать только если:
🔸 вам требуется создать код инициализации пакета
🔸 нужна совместимость со старыми версиями Python
На мой взгляд это немного упрощает разработку, делает её чище, но с другой стороны убивает некоторую однозначность происходящего.
Например, я создал репозиторий со своей библиотекой и рядом положил код примеров или тестов.
repo_name/
my_library/
__init__.py
main.py
examples/
exam1.py
exam2.py
В этом репозитории пакетом является только my_library, остальные директории это не пакеты, это просто дополнительный код в файлах. Директория examples не добавлена в sys.path, в ней нет рабочих модулей. Но если она лежит рядом с my_library, то Python вполне сможет импортнуть из неё модули, так как посчитает что examples это валидный пакет.
Конечно, пример несколько надуманный. Никто не будет добавлять корень репозитория в sys.path. Но, я думаю, суть ясна. Иногда директория это просто директория а не пакет!
#basic#pep
High Protein Wan Tan
Ingredients:
For the dough:
- 250 g flour 🌾
- 1 tsp salt 🧂
- 100 ml warm water 💧
For the filling:
- 1 cm ginger 🫚
- 100 g soy granules 🌱
- 2 spring onions 🧅
- 2 cloves of garlic 🧄
- 3 mushrooms 🍄
- 1 carrot 🥕
- 4 tbsp soy sauce 🧴
- 1 tbsp starch 🌿
Additionally:
- oil for frying 🛢️
- 100 ml water for steaming 💦
#HighProtein#WanTan#HealthyEating#Vegan
@dishes
High Protein Vegetable Patties
🥕 Ingredients:
- 1 small carrot 🥕
- 1 medium potato 🥔
- 1/2 bell pepper 🌶
- 1 onion 🧅
- 50 g soy granules 🌱
- 50 g corn 🌽
- 50 ml water 💧
- 100 g flour 🌾
- 1 tbsp starch ✨
- Oil for frying 🍳
Preparation:
1️⃣ Grate the carrot & potato, dice the pepper & onion, and place in a bowl 🥣
2️⃣ Soak the soybean granules in water, then add to the bowl along with the remaining ingredients and mix well 👩🍳
3️⃣ Shape the dough into patties and sauté in a pan with a little oil until golden brown 🥘
Enjoy! 😋
#HighProtein#VegetablePatties#VeganRecipe#HealthyEating#PlantBased
@dishes
High Protein Vegetable Patties
🥕 Ingredients:
- 1 small carrot 🥕
- 1 medium potato 🥔
- 1/2 bell pepper 🌶️
- 1 onion 🧅
- 50 g soy granules 🌱
- 50 g corn 🌽
- 50 ml water 💧
- 100 g flour 🌾
- 1 tbsp starch ✨
- Oil for frying 🍳
Preparation:
1️⃣ Grate the carrot & potato, dice the pepper & onion, and place in a bowl 🥣
2️⃣ Soak the soybean granules in water, then add to the bowl along with the remaining ingredients and mix well 👩🍳
3️⃣ Shape the dough into patties and sauté in a pan with a little oil until golden brown 🥘
Enjoy! 😋
#HighProtein#VegetablePatties#VeganRecipe#HealthyEating#PlantBased
@dishes
High Protein Zucchini Frittata 🥒🍅
Ingredients:
• 450 g chickpea flour 🌱
• 800 ml water 💧
• 1 zucchini 🥒
• 10 cherry tomatoes 🍅
• 2 onions 🧅
• 1 tsp turmeric 🌞
• 1 tsp Kala Namak 🧂
• 1 tsp paprika powder 🌶️
• Pinch of salt & pepper 🧂
Toppings:
• Cherry tomatoes 🍅
• Onion rings 🧅
• Italian herbs 🌿
Preparation:
1️⃣ Mix chickpea flour with water and season 🌱
2️⃣ Add vegetables and let rest for 10 minutes ⏳
3️⃣ Heat some oil in a pan and add the mixture; decorate with toppings 🥄
4️⃣ Cover and cook on low heat for 20 minutes 🔥⏳
#FrittataTime#HighProtein#ZucchiniRecipe#VeganDelight#HealthyEating#PlantBasedCooking
@dishes
High Protein Sweet & Sour Udon Noodles 🍜💪
Ingredients:
- 250 g udon noodles 🍜
- 80 g pea or soy medallions 🌱 (vegetable broth)
- 2 carrots 🥕
- 100 g sugar snap peas 🍃
- 200 g mushrooms 🍄
- 1/2 bunch of spring onions 🧅
Sauce:
- 2 tbsp sesame oil 🌾
- 1 tbsp soy sauce 🧂
- 3 tbsp agave syrup 🍯
- 2 tbsp rice vinegar 🍚
- 50 ml pasta water (from the udon noodles) 💧
- 1 tsp sesame seeds 🌿
- 1 tsp chili flakes 🌶️
Instructions:
1. Cook udon noodles in boiling water as per instructions. Save 50 ml of pasta water. 🍲
2. In vegetable broth, cook soy or pea medallions until tender. 🥄
3. Slice carrots, sugar snap peas, mushrooms, and spring onions. 🍄🥕🍃
4. Heat sesame oil in a pan, add veggies, and stir-fry until tender-crisp. 🍳
5. Add soy sauce, agave, rice vinegar, pasta water, sesame seeds, and chili flakes to the pan. 🍶
6. Combine everything, serve, and enjoy! 😋
#SweetAndSourNoodles#HighProtein#PlantBased#UdonLove#HealthyEats#VeganNoodles#QuickMeals#FoodieFun
@dishes
High Protein Red Cabbage Rolls
Ingredients:
🥬 1 large red cabbage
🫚 4 cm ginger
🧄 3 cloves of garlic
🥕 2 carrots
🫑 2 peppers
🧅 2 spring onions
🌱 100 g soy granules
🍶 50 ml soy sauce
Toppings:
✨ Sesame, 🌿 fresh parsley, 🌶 chili flakes
Dip:
🍯 Sweet Chili Sauce
#HighProtein#RedCabbageRolls#HealthyEating#PlantBased#EasyRecipe#SoyGranules#VeggiePower#Flavorful#MealPrep
@dishes