Подразумеваемые неймспейсы или неявные пакеты.
Этот функционал добавлен в 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
Massive Bitcoin Transfer Triggers Attention
🚨 1,080 #BTC (valued at approximately $112.59M) have been transferred between unknown wallets, raising eyebrows in the crypto community. For details, visit Whale Alert's link.
#BTC#WhaleAlert#Crypto
Massive Bitcoin Transfer Alert
🚨 999 #BTC (valued at $101,477,799) transferred between unknown wallets. For details, see the Whale Alert.
#BTC#WhaleAlert#Crypto
Major Ethereum Transfer to Coinbase
🚨 A significant transfer of 13,758 #ETH (valued at $50.5M) recently occurred from an unknown wallet to Coinbase Institutional, according to Whale Alert. More details can be found here.
#ETH#Coinbase#Crypto#WhaleAlert
Major BTC Transfer Alert
🚨 A significant transfer of 2,400 #BTC (approx. $226.46M) occurred from #Coinbase to an unknown wallet, detected by Whale Alert.
💵 Additionally, 50,000,000 #USDC (approx. $50.03M) has been minted at the USDC Treasury.
Details available here.
#BTC#Coinbase#USDC#WhaleAlert#Crypto
🚀 USDC Treasury Mints 250 Million USDC Without Stated Reason
A recent report from Whale Alert indicates that 250 million USDC has been minted at the USDC Treasury. According to NS3.AI, the report did not specify the reason behind this significant minting event. The lack of explanation has left market participants speculating about the potential implications for the cryptocurrency market.
#USDC#Treasury#Cryptocurrency#WhaleAlert#Minting#NS3AI#MarketSpeculation
Massive Transfers Alert from Bitfinex
🚨 Significant transactions reported by Whale Alert:
- 370,379,149 #USDT ($370.9M) moved from #Bitfinex to Tether Treasury.
- 30,000 #BTC ($2.8B) sent to an unknown new wallet.
#USDT#BTC#Bitfinex#WhaleAlert
Large ETH Transfer from Bitfinex
🚨 A substantial transfer of 20,000 ETH ($66.79M) has been made from #Bitfinex to an unknown wallet. More details available in the Whale Alert report. 🚨
#ETH#Bitfinex#Crypto#Market#Finance#Blockchain#WhaleAlert
Large Bitcoin Transfer Alert
A whopping 623 #BTC, valued at approximately 63.9 million USD, has been moved from #Antpool to an unidentified wallet. Details available at Whale Alert.
#BTC#WhaleAlert#Blockchain#Crypto