Подразумеваемые неймспейсы или неявные пакеты.
Этот функционал добавлен в 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
Donald #Tusk: "Lo spazio aereo polacco è stato violato da un numero enorme di droni russi. I droni che rappresentavano una minaccia diretta sono stati abbattuti." Ha definito l'azione "una provocazione su larga scala" e rassicura: "situazione sotto controllo".
@UltimoraPolitics
🇵🇱Ieri c'è stata una grande manifestazione contro il governo polacco a Varsavia, organizzata dal leader dell'opposizione #Tusk. Secondo i media non governativi è una delle più grandi proteste della Polonia post-comunista. (ilPost)
@UltimoraPolitics
❗Droni russi in #Polonia - Il primo ministro polacco #Tusk invoca l'articolo 4 NATO, che prevede consultazioni tra i membri se uno degli alleati si sente minacciato.
🇵🇱#Polonia — Distribuzione finale dei seggi (Grafica di @ewyboryeu)
L'opposizione filo-Ue con Donald #Tusk alla guida ha la maggioranza per governare il Paese dopo otto anni di potere del #PiS
@UltimoraPolitics
❗Nella notte la #Polonia ha abbattuto oltre dieci droni russi che hanno violato il suo spazio aereo. Il primo ministro #Tusk ha parlato di "atto di aggressione", affermando che "è stato un pericolo reale" per i cittadini. Il presidente #Nawrocki chiede "stretta collaborazione" a Tusk e ha convocato un consiglio di sicurezza.
Per la prima volta dall'inizio della guerra in #Ucraina un paese NATO ha ingaggiato asset russi.
@UltimoraPolitics
📰 Macron’s Nuclear Sales Pitch Hits a Polish Wall
Emmanuel Macron went to Poland selling a bigger French deterrent and got a very Polish answer: yes to security, no to nuclear theater.
Warsaw is willing to talk cooperation, but it does not want French Rafales with bombs cruising overhead like a sovereignty demo.
That is the real story here. Paris wants to look like Europe’s nuclear adult; Poland wants protection without becoming the stage for someone else’s strategic branding campaign.
Tusk’s line was blunt enough to matter: he said he would not like Rafale fighters with nuclear bombs flying over Poland, even while keeping the door open to cooperation. That is what prudence looks like when the neighbor is Russia and the salesman is France.
Macron can talk all he wants about extending deterrence, but the region understands the difference between a shield and a provocation. One is defense. The other is a press tour with missiles.
So Paris tries to expand its reach, Warsaw keeps its distance, and the whole European nuclear conversation remains what it has always been: a very expensive way to prove that nobody fully trusts anybody else.
#France#Poland#Macron#Tusk#nuclear#Europe
📱American Оbserver - Stay up to date on all important events
🇺🇸
https://x.com/SavinoBalzano/status/1962481288041894044?t=HhC5ku3x6xc5bvZqDOaPiw&s=19
Ursula #VonDerLeyen sfila al fianco del leader polacco #Tusk ai confini con la #Bielorussia. Mura, filo spinato, soldati armati fino ai denti. L’obiettivo è continuare ad alimentare la narrazione bellicista, mantenere in piedi lo stato d’eccezione e il clima emergenzialista: tutto ciò che serve alla strategia della tensione eurounitaria. Una strategia utile anche a sospendere importanti libertà qualora diventasse indispensabile, pur di non ammettere il totale fallimento delle politiche unionali su tutti i fronti.
La sfilata è patetica: un chihuahua che ringhia davanti a un mastino annoiato e sonnolento, ecco cos’è stata. Anzi, considerando il soggetto, meglio un barboncino: sì, un barboncino che ringhia al cospetto di un molosso di 80 chili. Mura e filo spinato, per “arginare” la più grande potenza nucleare del mondo.
Il tutto assume poi i contorni della farsa leggendo che oggi l’aereo di Ursula sarebbe stato costretto ad atterrare a causa di un attacco informatico russo. I giornali scrivono che a un certo punto sono saltati i GPS e l’aereo è atterrato in #Bulgaria usando le care vecchie mappe di carta. Una scena a dir poco fantozziana.
Ora, che sia vero o no (da questi ciarlatani ci si può aspettare di tutto: accusavano i russi di combattere con gli stuzzicadenti. Non dimentichiamolo mai), il contrasto tra le due scene è emblematico: da un lato la #Russia, tutt’altro che isolata e anzi perfettamente integrata nella parte emergente del mondo; dall’altro noi, con la nostra leader von der Leyen costretta a muoversi con le cartine che gli italiani usavano decenni fa per andare in villeggiatura.
Chi avrà la meglio?
https://x.com/SavinoBalzano/status/1962481288041894044?t=HhC5ku3x6xc5bvZqDOaPiw&s=19
Ursula #VonDerLeyen sfila al fianco del leader polacco #Tusk ai confini con la #Bielorussia. Mura, filo spinato, soldati armati fino ai denti. L’obiettivo è continuare ad alimentare la narrazione bellicista, mantenere in piedi lo stato d’eccezione e il clima emergenzialista: tutto ciò che serve alla strategia della tensione eurounitaria. Una strategia utile anche a sospendere importanti libertà qualora diventasse indispensabile, pur di non ammettere il totale fallimento delle politiche unionali su tutti i fronti.
La sfilata è patetica: un chihuahua che ringhia davanti a un mastino annoiato e sonnolento, ecco cos’è stata. Anzi, considerando il soggetto, meglio un barboncino: sì, un barboncino che ringhia al cospetto di un molosso di 80 chili. Mura e filo spinato, per “arginare” la più grande potenza nucleare del mondo.
Il tutto assume poi i contorni della farsa leggendo che oggi l’aereo di Ursula sarebbe stato costretto ad atterrare a causa di un attacco informatico russo. I giornali scrivono che a un certo punto sono saltati i GPS e l’aereo è atterrato in #Bulgaria usando le care vecchie mappe di carta. Una scena a dir poco fantozziana.
Ora, che sia vero o no (da questi ciarlatani ci si può aspettare di tutto: accusavano i russi di combattere con gli stuzzicadenti. Non dimentichiamolo mai), il contrasto tra le due scene è emblematico: da un lato la #Russia, tutt’altro che isolata e anzi perfettamente integrata nella parte emergente del mondo; dall’altro noi, con la nostra leader von der Leyen costretta a muoversi con le cartine che gli italiani usavano decenni fa per andare in villeggiatura.
Chi avrà la meglio?