Ho un programma Python di medie dimensioni (12 KLOC) organizzato come un singolo pacchetto Python con più sotto-pacchetti:
proj/
setup.py
proj/
__init__.py
projfile1.py
subproj1/
__init__.py
subprojfile1.py
...
subproj2/
__init__.py
...
tests/
Posso vedere che alcuni di questi sotto-pacchetti potrebbero essere autonomi e potrebbero vivere nel loro spazio dei nomi:
proj/
setup.py
proj/
__init__.py
projfile1.py
...
subproj1/
__init__.py
subprojfile1.py
...
subproj2/
__init__.py
...
tests/
Penso che scomporre i pacchetti secondari potrebbe aiutare a ridurre la complessità futura riducendo l'interdipendenza tra parti separate del programma.
Le uniche importazioni subproj1
al di fuori del suo spazio dei nomi sono funzioni di utilità di un altro subpackage in proj/
Esistono più pacchetti di livello superiore appropriati per un progetto Python? Ci sono progetti organizzati in questo modo?
Quali sono gli svantaggi di organizzare un progetto come più pacchetti Python?