[Python] Condivisione interna di librerie

Alessandro Dentella sandro.dentella a gmail.com
Mer 30 Set 2020 22:57:36 CEST


On Wed, Sep 30, 2020 at 05:53:23PM +0200, Federico Fissore wrote:
> Ciao a tutti
> 
> nel cercare di diventare esperto di python nel più breve tempo possibile,
> combatto con la mia eredità java/node/rust
> 
> Come fate a riciclare il codice di un modulo fra più progetti?
> 
> Trasformate quel modulo in una libreria da installare con pip? Libreria che
> pubblicate su un repository pip interno?
> 
> Oppure fate copia-incolla?

Io tipicamente faccio dei package. Se so che la funzionalità è *potenzialmente*
utile in altri progetti faccio sicuramente un pacchetto che poi pubblico su un
mio server (basta una cartella con autoindex servita da nginx, nulla di che).

Meno ovvio è come fare il pacchetto. È una delle aree in cui c'è sempre stato
più movimento. Adesso ad esempio si sta transitando, mi pare senza troppa
solerzia, da setup.py a pyproject.toml (PEP 518). [1]

Puoi forse cominciare da qui:

  https://packaging.python.org/


Per la creazione dei pacchetti i sono trovato molto bene con poetry [3]
che poi però mi ha dato grane quando dovevo trovare pacchetti su repo privati
(ma non sono sicuro che fosse colpa sua, onestamente). Poetry produce pacchetti
solo con il file di con `pyproject.toml` e per default produce anche le wheel.

sandro
*:-)



[1] https://snarky.ca/what-the-heck-is-pyproject-toml/



Maggiori informazioni sulla lista Python