Configurazione dei progetti Python Parte VI

Configurazione Python Progetti VI

Padronanza dell’arte di configurare un progetto Python: una guida passo-passo

Foto di Amira El Fohail su Unsplash

Sia che tu sia uno sviluppatore esperto o che tu stia iniziando appena ad utilizzare 🐍 Python, è importante sapere come costruire progetti robusti e manutenibili. Questo tutorial ti guiderà attraverso il processo di configurazione di un progetto Python utilizzando alcune delle più popolari ed efficaci strumenti del settore. Imparerai come utilizzare GitHub e GitHub Actions per il controllo delle versioni e l’integrazione continua, oltre ad altri strumenti per il testing, la documentazione, l’impacchettamento e la distribuzione. Il tutorial è ispirato a risorse come Hypermodern Python e Best Practices for a new Python project. Tuttavia, questa non è l’unica strada da percorrere e potresti avere preferenze o opinioni diverse. Il tutorial è pensato per i principianti, ma copre anche argomenti avanzati. In ogni sezione, automatizzerai alcune attività e aggiungerai badge al tuo progetto per mostrare i tuoi progressi e realizzazioni.

Il repository per questa serie si trova su github.com/johschmidt42/python-project-johannes

Requisiti

  • Sistema operativo (OS): Linux, Unix, macOS, Windows (WSL2 con ad esempio Ubuntu 20.04 LTS)
  • Strumenti: python3.10, bash, git, tree
  • Sistema di controllo delle versioni (VCS) Host: GitHub
  • Strumento di integrazione continua (CI): GitHub Actions

Si presume che tu sia familiare con il sistema di controllo delle versioni (VCS) git. Se non lo sei, ecco un ripasso per te: Introduzione a Git

I commit saranno basati sulle migliori pratiche per i commit git e sui commit convenzionali. Esiste il plugin per commit convenzionali per PyCharm o un’estensione di VSCode che ti aiuta a scrivere i commit in questo formato.

Panoramica

  • Parte I (GitHub, IDE)
  • Parte II (Formattazione, Linting, CI)
  • Parte III (Testing, CI)
  • Parte IV (Documentazione, CI/CD)
  • Parte V (Versionamento e rilasci, CI/CD)
  • Parte VI (Containerizzazione, Docker, CI/CD)

Struttura

  • Containerizzazione
  • Docker
  • Dockerfile