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