Re: [Python] Come determinare le dipendenze di un progetto Python senza Pipfile o requirements.txt?

2020-04-11 Per discussione bruno bossola
Ciao Pietro.

per pip puoi usare `pip freeze`, non so se funzioni con conda. Ma credo che
> comunque ci sia un modo "conda nativo" per listare i pacchetti. Basta
> cercare su internet o con un bell --help.
>
> Si, l'ho scritto nel mio messaggio originale, ho fatto le mie ricerche
prima di postare, come sempre :)  Ma se noti, come ho scritto, ci sono
delle limitazioni in quell'approccio, e non so bene come superare quelle.



> Questione più grande:
> Per python esiste già questo
> https://pypi.org/project/safety/
>
> Non l'ho mai usato, ma mi ricordavo di averne letto a riguardo.
>
> Si certo, lo conosciamo, solo che:

   1. il suo DB di vulnerabilità non e' manutenuto decentemente, molte
   delle commit di aggiornamento sono vuote
    e in circa un anno
   escono circa 100/150 nuove vulnerabilità solo su pacchetti Python quindi...
   aehm... non so se lo userei :) Ho pure contattato l'autore e CEO (?) di
   Safety ma mi ha detto che non era interessato ad integrazioni, quindi boh?

   2. Non fornisce informazioni sulle versioni dei pacchetti
   3. Non fornisce informazioni sulle licenze dei pacchetti

Diciamo che personalmente non lo raccomando, soprattutto per lo scarsamente
aggiornato database delle vulnerabilità. Ci sono altri competitor molto
piu' "spessi" di cui preoccuparsi ma che, per fortuna, costano 5/10 volte
noi :)

Ma quindi non il discorso "vulnerabilita' nei pacchetti opensource" non e'
molto sentito in Python?

Ciao,

Bruno
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Come determinare le dipendenze di un progetto Python senza Pipfile o requirements.txt?

2020-04-11 Per discussione bruno bossola
Ciao Jacopo,

Grazie, informazioni utilissime, ora mi leggo tutto! Essendo comunque il
nostro un prodotto commerciale devo seguire cosa mi dicono i clienti,
quindi come package manager devo rientrare nelle loro richieste... comunque
sicuramente implementeremo almeno uno che segua la PEP-517!

Ciao,

Bruno

--
Bruno Bossola
CTO - meterian.io
Scan your website now! 
Scan your project now! 


On Fri, 10 Apr 2020 at 19:40, Jacopo Cascioli 
wrote:

> 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  wrote:
>
> Ciao a tutti,
>
> Riemergo sulla lista dopo qualche anno :) e come CTO di un'azienda.
> Meterian , 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
>  
> o
> questo
> 
> .
>
> 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:
>
>1. setup.py
>2. Venv
>3. Conda
>
> Per quanto riguarda *setup.py *credo sia sufficiente usare "python
> setup.py egg_info" che genera il file .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 " 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
> Scan your website now! 
>
> Scan your project now! 
>
>
>
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Come determinare le dipendenze di un progetto Python senza Pipfile o requirements.txt?

2020-04-11 Per discussione Pietro Brunetti
Lista dei packages:
 per pip puoi usare `pip freeze`, non so se funzioni con conda. Ma credo
che comunque ci sia un modo "conda nativo" per listare i pacchetti. Basta
cercare su internet o con un bell --help.


Questione più grande:
Per python esiste già questo

https://pypi.org/project/safety/

Non l'ho mai usato, ma mi ricordavo di averne letto a riguardo.
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Come determinare le dipendenze di un progetto Python senza Pipfile o requirements.txt?

2020-04-10 Per discussione Jacopo Cascioli
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  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 .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 " 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


[Python] Come determinare le dipendenze di un progetto Python senza Pipfile o requirements.txt?

2020-04-10 Per discussione bruno bossola
Ciao a tutti,

Riemergo sulla lista dopo qualche anno :) e come CTO di un'azienda. Meterian
, 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
 o
questo

.

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:

   1. setup.py
   2. Venv
   3. Conda

Per quanto riguarda *setup.py *credo sia sufficiente usare "python setup.py
egg_info" che genera il file .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 " 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
Scan your website now! 
Scan your project now! 
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python