Nella mia applicazione Python, posso distinguere tra i punti di ingresso (script) e quello che penso come codice di libreria.
Il mio istinto è di inserire il codice della libreria all'interno di un pacchetto e gli script che importano altrove dal pacchetto.
È possibile utilizzare setup.py per fare riferimento a metodi all'interno di un pacchetto da utilizzare come entry-point, avendo quindi tutto il codice Python all'interno dei pacchetti.
Quale è preferibile?
Nota: questo link tratta entrambe le opzioni ma in realtà non offre un'opinione.
Modifica: per dare un esempio più concreto, sto rivedendo del codice che contiene un pacchetto. Al suo interno ci sono quaranta moduli:
-
__init__.py
- 11 'script'
- 10 "moduli di libreria" utilizzati da quegli script
- 18 moduli di test
Non sembra che stia usando la capacità dei pacchetti molto bene, ma non riesco a capire cosa sia esattamente sbagliato.
Apprezzo che fare test nello stesso pacchetto non fosse nella mia domanda iniziale.