ambienti virtuali
usa venv per isolare dipendenze e versioni.
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pyproject.toml
definisci metadata e dipendenze con pyproject.
[project]
name = "buzatu-tools"
version = "0.1.0"
dependencies = ["requests"]
build e publish
usa build per generare wheel e sdist, e twine per publish.
python -m build
twine upload dist/*
versioning
usa semantic versioning e changelog per release stabili.
automatizza il rilascio con tag git e release notes.
esercizi
prepara un package con un comando cli e pubblicalo su testpypi.
aggiungi una licenza e un README di qualità.
checklist
- usa venv per ogni progetto
- pyproject completo
- build e test prima del publish
- aggiorna changelog
panoramica
In questo capitolo su packaging e distribuzione, venv, pyproject e build per progetti professionali. L'obiettivo è trasformare i concetti in micro-pattern riutilizzabili con esempi piccoli e verificabili.
Lavora in sequenza: leggi, prova, modifica gli snippet e annota i trade-off principali (performance, leggibilità, manutenzione).
badge: package publisher
obiettivi
- capire e applicare venv in uno scenario reale
- capire e applicare pyproject in uno scenario reale
- capire e applicare build in uno scenario reale
- capire e applicare versioning in uno scenario reale
scheda rapida
def main():
dati = [1, 2, 3]
risultati = [x * 2 for x in dati]
print(risultati)
if __name__ == "__main__":
main()
Adatta questo scheletro agli esempi della lezione e sostituisci i dati con il tuo dominio.
tips
- usa un venv per ogni progetto
- separa logica e I/O
- mantieni funzioni piccole e nominative
- usa pyproject.toml
- versiona semanticamente
- includi README e licenza
tip: Se la build non è riproducibile, la distribuzione non è affidabile.
mini progetto
Prepara un pacchetto riutilizzabile per utilità comuni.
- definisci struttura pacchetto
- scrivi pyproject.toml
- builda la wheel
- installa in venv di prova
output atteso: uno script o query ripetibile con risultati verificabili.