Подразумеваемые неймспейсы или неявные пакеты.
Этот функционал добавлен в 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
Senior Veterinarian (Senior Animal Health Expert).
#adama_investment_group
#health_care
#Adama
DVM, Master's, Bachelor's Degree, or Advanced Diploma, in Veterinary Technology, Veterinary Science, or in a related field of study with relevant work experience
Quanitity Required: 2
Minimum Years Of Experience: #0_years
Maximum Years Of Experience: #8_years
Salary: 23676.00
Deadline: January 8, 2025
How To Apply: Submit your non-returnable application and CV along with supporting documents in person to the Human Resource Director of AIG located at Adama City, Abba Gada Sub City - In front of Tele Garage
Senior Veterinarian (Senior Animal Health Expert).
#adama_investment_group
#health_care
#Adama
DVM, Master's, Bachelor's Degree, or Advanced Diploma, in Veterinary Technology, Veterinary Science, or in a related field of study with relevant work experience
Quanitity Required: 2
Minimum Years Of Experience: #0_years
Maximum Years Of Experience: #8_years
Salary: 23676.00
Deadline: January 8, 2025
How To Apply: Submit your non-returnable application and CV along with supporting documents in person to the Human Resource Director of AIG located at Adama City, Abba Gada Sub City - In front of Tele Garage
Senior Veterinarian (Senior Animal Health Expert).
#adama_investment_group
#health_care
#Adama
DVM, Master's, Bachelor's Degree, or Advanced Diploma, in Veterinary Technology, Veterinary Science, or in a related field of study with relevant work experience
Quanitity Required: 2
Minimum Years Of Experience: #0_years
Maximum Years Of Experience: #8_years
Salary: 23676.00
Deadline: January 8, 2025
How To Apply: Submit your non-returnable application and CV along with supporting documents in person to the Human Resource Director of AIG located at Adama City, Abba Gada Sub City - In front of Tele Garage
#Commentary: #Oromia’s New Regulation: Legalizing construction on illegally possessed land, enabling geography-based discrimination
Oromia’s Regulation No. 259/2026 (March 2026) legalizes illegally built properties—yet excludes #Shaggar, #Adama, and #Bishoftu. Hassen Mama Muse argues, "This geographic exclusion creates a two-tiered system, violating constitutional equality."
The law covers construction projects from 2013 to 2026 that meet the criteria but excludes some residents from facing demolition. This contradicts Article 25 of #Ethiopia’s Constitution and treaties like the #ICCPR. The regulation also fails Lon Fuller’s "internal morality of law" and exceeds the Council’s authority under Proclamation No. 242/2021.
According to the author, urgent reforms are needed: include all cities, compensate evictees, and review constitutionality." A fair framework must protect all equally," he emphasizes, "or entrench inequality as reform."
https://addisstandard.com/?p=56238
News: EPRP calls for nationwide protest on May 8 amid concerns over electoral conditions
The Ethiopian People’s Revolutionary Party (#EPRP) has called for a nationwide peaceful protest to be held on May 8, 2026, citing what it described as the absence of “enabling conditions” for a credible election in #Ethiopia.
In a statement sent to Addis Standard today, the party said the planned demonstrations will take place in several major cities, including #Addis_Abeba, #Mekelle, #Bahir_Dar, #Gondar, #Hawassa, #Adama, and #Ambo, urging #Ethiopians to join what it described as a peaceful effort to demand political reforms.
The EPRP said it supports the transfer of power through elections but argued that current conditions do not allow for a “free, fair, and credible” vote. It accused the ruling Prosperity Party of attempting to conduct what it termed a “pseudo-election” aimed at extending its hold on power, describing the process as
Read more: https://addisstandard.com/?p=56410