In che cosa consiste Poetry?
Questo progetto Python combina il controllo delle dipendenze di un progetto con la gestione del suo ciclo di vita: l’inizializzazione, lo sviluppo e il versionamento del codice e infine la pubblicazione del pacchetto in repository pubblici o privati. E non è tutto. Poetry offre altri vantaggi tra cui la gestione degli ambienti Python e un’interfaccia per definire i plugin con i quali interagire.
Per convincervi delle comodità e dell’utilità garantite dallo strumento, ecco qualche dettaglio aggiuntivo.
- I file di configurazione del progetto (setup.py, requirements.txt, ecc.) vengono rimpiazzati da un unico file pyproject.toml, pratico e leggibile. Questo file contiene i dati relativi al progetto, le definizioni delle sue dipendenze (permettendone all’occorrenza la suddivisione in sottogruppi distinti) e le informazioni relative ad altri strumenti integrati.
- La gestione degli ambienti avviene in maniera automatica, dato che Poetry crea un nuovo spazio qualora non ce ne fosse già uno impostato, seguendo le specifiche del file di configurazione scritto in formato TOML.
- La riproducibilità di un ambiente Python viene assicurata dal file lock in cui sono racchiuse le esatte versioni delle dipendenze scaricate durante la prima installazione. Poetry, inoltre, installa di default il progetto corrente in editable mode, permettendone l’interazione tramite l’interprete Python qualora fosse necessario.
Vediamo ora come integrare il tool all’interno di un nuovo progetto, partendo dalla sua installazione fino all’integrazione con il task runner Poe the Poet.