Al momento stai visualizzando Come installare e configurare pre-commit per Python

Come installare e configurare pre-commit per Python

Il framework pre-commit è un tool utilissimo per lo sviluppatore che permette di mantenere sempre il codice in linea con i vari standard di scrittura.

Nel caso del Python, si parla dello standard PEP8 che stabilisce le varie convenzioni nella scrittura e interpretazione del codice.

Lo scopo di questa guida è fornire al lettore tutti i passaggi per configurare nella maniera più semplice possibile il framework pre-commit sui propri repository locali, utilizzando il “correttore” black per la formattazione del codice.

Requisiti

Come punto di partenza è necessario avere:

  • Repository locale git
  • Python 3
  • pip
  • Terminale

Installazione

Ipotizziamo che il nostro repository si chiami WEEEOpen.

Apriamo il terminale (o powershell su Windows) e spostiamoci nella cartella del repository:

cd WEEEOpen

Installiamo pre-commit sul nostro sistema:

pip install pre-commit

Procediamo con l’installazione di pre-commit nel nostro repository col comando:

pre-commit install

Ora che l’installazione è terminata possiamo procedere con la configurazione.

Configurazione

Una volta terminata l’installazione, creiamo nella cartella del repository il file di configurazione di pre-commit:

touch .pre-commit-config.yaml

Apriamo questo file con un qualsiasi editor di testo e inseriamo la seguente configurazione:

repos:
  - repo: https://github.com/psf/black
    rev: 22.1.0
    hooks:
      - id: black
        types:
          - python

Il tag repos indica l’insieme di tutti i repository dei tool che pre-commit dovrà utilizzare prima dei nostri commit.

In repo inseriamo il link al repository di black, in rev la versione che desideriamo (non è necessariamente quella in esempio) e negli hooks specifichiamo tutti i parametri per l’esecuzione dello script black (in questo caso solo l’id e i tipi di file che deve controllare).

Ovviamente, oltre a black, è possibile inserire ulteriori hooks in base alle nostre esigenze.

Conclusione

Ora che il framework è configurato, possiamo procedere con la scrittura del nostro codice e, nel momento in cui l’utente effettuerà un nuovo commit, pre-commit eseguirà tutti gli script necessari per formattare il nostro codice secondo gli standard corretti.