Подразумеваемые неймспейсы или неявные пакеты.
Этот функционал добавлен в 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
#release v12.6.4 a13c5e1229 r1128
Added:
- Marquee in Momo settings for long option texts
- Optionally confirm secret chat when there's a new incoming request
Fixed:
- Some real "GIF" being not playable
- Spoilers not applied on blocked users
Note. This will be the last build using the package name nekox.messenger.broken
#release v12.6.4 006a5be2b4 r1127
Added:
- Extend original force old topic view to default, force classic view and force tab view
- Switch between accounts from chat list menu
Fixed:
- Follow server behavior for vote count preview (no more count before actual vote, you can thank Durov's pets for that)
- [COT] thinking process in TranslateAlert3 not trimmed
- zh_cn strings used when zh_tw is selected
#release v12.5.1 adb88e8006 r1123
- Fixed a minor UI issue
- Switch to MapLibre for map views
- Update Cloudflare token length check to support new token (Thanks MrKristofere@GitHub)
#release v12.4.1 a3fd6d67a5 r1121
Added:
- Partial support for preserve link entities for translated messages (results may vary between languages and translate services used)
Fixed:
- Bottom padding for undo view in chat list
PS. I recently lost my job, so any financial support is appreciated. If you can't donate, starring the repository or contributing improvements is also greatly appreciated.
🎧Погружение в историю Башкирии через джаз-рок
Исполнитель
«Фирма Мелодия» переиздает пластинку, впервые вышедшую во времена позднего СССР, в 1990-м году. Альбом «Ансамбль “Орлан”» стал дебютной и самой известной записью уфимского коллектива под управлением Олега Киреева.
История «Орлана» связана с разными периодами в жизни страны. После ограничений для джазовых музыкантов в середине XX века последовали осторожные разрешения на исполнения и фестивали. По словам историка джаза Алексея Баташёва, коллективы почти принуждали работать с народными мелодиями и вплетать их в произведения. Как только контроль ослаб, многие ансамбли избавились от этого приема, а джаз, смешанный с народными мотивами, двинулся из центральных городов на восток. Где, например, в Уфе и появился ансамбль «Орлан».
Музыка
Олег Киреев, не чувствовал давления и свободно экспериментировал: «Джаз – ближайший родственник фольклора, а потому нас интересуют народные традиции, то, что живо вокруг нас, хотя и от джазовой классики мы ни в коем случае не отрекаемся». Свой основной инструмент, саксофон, Киреев обрел почти случайно: в предперестроечные годы в музыкальном училище был высокий конкурс на все специальности, кроме саксофона. Первый собственный коллектив Киреев собрал в 1984-м, а сделавший его известным в СССР и за его пределами «Орлан» – в 1986-м.
Мысль остановиться на джаз-фьюжне, пропитанном национальными мелодиями, пришла сама собой. «На праздниках была традиция, которой сейчас уже нет: родственники […] начинали петь – башкирские, татарские, русские песни, всё вперемешку. Народная музыка окружала нас повсюду», – позже говорил музыкант.
Мнение
«Башкирские легенды», родившиеся из одноименной концертной программы, не только звучат непривычно – тут есть, например, микс горлового пения и саксофона, – но и имеют небанальную историю. «Легенды» ездили по фестивалям, и в Днепропетровске ансамбль познакомился с Алексеем Баташёвым, историком и популяризатором джаза. Тот позвал музыкантов в Москву, где они записали весь материал всего за два дня в студии «Мелодии». Киреев называл процесс «мини-спектаклем, погружением в историю Башкирии через джаз-рок» и считал, что на записи им «каким-то чудом удалось воссоздать атмосферу, которая была на концертах». Эта запись стала их единственной студийной работой.
Денис Бояринов
Спустя почти 35 лет «Мелодия» вновь издает «Башкирские легенды» на виниле.
→ Слушать
#release
#release v12.3.1 3abc7c7194 r1117
- Force padding for unrounded floating button in chat
- View message history from member list of chats with admin privileges