Ciao Bruno,

Purtroppo Python ha un problema: il package management.

In tempi recenti, la PEP-517 è stata approvata 
(https://www.python.org/dev/peps/pep-0517/) e quindi sono usciti altri package 
manager che lavorano sulla 517, come https://python-poetry.org e 
https://github.com/takluyver/flit

Attenzione a pipenv, poichè non segue la PEP-517, ma viene comunque gestito 
dalla PyPA.

Infine qui (https://www.pypa.io/en/latest/history/) puoi trovare un un po' di 
storia sul package management in Python.

Jacopo Cascioli

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Friday 10 April 2020 15:04, bruno bossola <bboss...@gmail.com> wrote:

> Ciao a tutti,
>
> Riemergo sulla lista dopo qualche anno :) e come CTO di un'azienda. 
> [Meterian](https://www.meterian.com/), che si occupa di sicurezza. In pratica 
> il nostro tool, data una codebase, ne determina le dipendenze e verifica che 
> nessuna di esse sia vulnerabile, out of date o che usi una licenza non 
> business friendly. In pratica generiamo dei report tipo 
> [questo](https://www.meterian.com/projects/?pid=2285a757-857f-4bdf-9b5e-d1c5acb27751)
>  o 
> [questo](https://www.meterian.com/projects/?pid=495ac650-b512-498d-b58b-fb5aff4d0320).
>
> Abbiamo implementato il supporto per Python fino a un certo punto :), al 
> momento supportiamo Pipfile e requirements.txt (dove usiamo comunque pipenv 
> per rigenerare il Pipfile) ma direi che ci manca supporto a tutto il resto e 
> siccome io non sono un esperto di Python (cioe', conosco il linguaggio ma 
> professionalmente lo uso solo per scripting e QA al momento) avrei bisogno di 
> aiuto :)
>
> Intravedo per ora altri tre altri fondamentali sistemi per dichiarare le 
> dipendenze:
>
> - setup.py
> - Venv
> - Conda
>
> Per quanto riguarda setup.py credo sia sufficiente usare "python setup.py 
> egg_info" che genera il file <name>.egg-info/requires.txt che a quel punto mi 
> posso andare a leggere. Unica cosa che ho notato e' che non sempre le 
> dipendenze dichiarano una versione, e poi non sono sicuro di riuscire a 
> generare il grafo quindi.... boh.
>
> Per quanto riguarda venv se ho capito bene crea un virtual environment con 
> tutto dentro, quindi dovrebbe bastare zomparci dentro e fare un pip freeze. 
> Pero' mi mancherebbe il vero grafo delle dipendenze.
>
> Per conda mi sto ancora studiando il tooling, ma mi sembra si possa ottteere 
> il grafo con "conda create --dry-run --json -n <package>" oppure con il nuovo
> comando "conda.models.dag" (che pero' non sono riuscito a fare funzionare.
>
> Se avete suggerimenti li apprezzo molto volentieri. E se volete usare il tool 
> comunque e' gratis per progetti opensource :)
>
> Grazie in anticipo e buona Pasqua (anche se casalinga quest'anno!).
> Ciao,
>
>     Bruno
>
> --
> Bruno Bossola
> CTO - [meterian.io](http://meterian.io/)
> [Scan your website now!](https://www.meterian.com/webscanner.html)
>
> [Scan your project now!](https://www.meterian.com/projectscanner.html)
_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python

Rispondere a