<div dir="ltr">Ciao Jacopo,<div><br></div><div>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 <span style="color:rgb(0,0,0)">PEP-517!</span></div><div><span style="color:rgb(0,0,0)"><br></span></div><div><span style="color:rgb(0,0,0)">Ciao,</span></div><div><span style="color:rgb(0,0,0)"><br></span></div><div><span style="color:rgb(0,0,0)"> Bruno</span></div><div><br></div><div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr" style="color:rgb(0,0,0)"><div>--</div><div><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Bruno Bossola</div><div>CTO - <a href="http://meterian.io/" style="color:rgb(17,85,204)" target="_blank">meterian.io</a></div><div><a href="https://www.meterian.com/webscanner.html" style="color:rgb(17,85,204)" target="_blank">Scan your website now!</a></div></div><div style="margin:2px 0px 0px"></div></div></div></div><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><a href="https://www.meterian.com/projectscanner.html" style="color:rgb(17,85,204)" target="_blank">Scan your project now!</a></div><div style="margin:2px 0px 0px"></div></div></div></div></div></div><div style="color:rgb(0,0,0);margin:2px 0px 0px"></div></div></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 10 Apr 2020 at 19:40, Jacopo Cascioli <<a href="mailto:jacopo@jacopocascioli.com">jacopo@jacopocascioli.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Ciao Bruno,<br></div><div><br></div><div>Purtroppo Python ha un problema: il package management. <br></div><div><br></div><div>In tempi recenti, la PEP-517 è stata approvata (<a href="https://www.python.org/dev/peps/pep-0517/" target="_blank">https://www.python.org/dev/peps/pep-0517/</a>) e quindi sono usciti altri package manager che lavorano sulla 517, come <a href="https://python-poetry.org" target="_blank">https://python-poetry.org</a> e <a href="https://github.com/takluyver/flit" target="_blank">https://github.com/takluyver/flit</a><br></div><div><br></div><div>Attenzione a pipenv, poichè non segue la PEP-517, ma viene comunque gestito dalla PyPA. <br></div><div><br></div><div><div>Infine qui (<a href="https://www.pypa.io/en/latest/history/" target="_blank">https://www.pypa.io/en/latest/history/</a>) puoi trovare un un po' di storia sul package management in Python.<br></div></div><div><br></div><div><div><div>Jacopo Cascioli<br></div></div><div><br></div></div><div><br></div><div>‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐<br></div><div> On Friday 10 April 2020 15:04, bruno bossola <<a href="mailto:bbossola@gmail.com" target="_blank">bbossola@gmail.com</a>> wrote:<br></div><div> <br></div><blockquote type="cite"><div dir="ltr"><div>Ciao a tutti,<br></div><div><br></div><div>Riemergo sulla lista dopo qualche anno :) e come CTO di un'azienda. <a href="https://www.meterian.com/" target="_blank">Meterian</a>, 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 <a href="https://www.meterian.com/projects/?pid=2285a757-857f-4bdf-9b5e-d1c5acb27751" target="_blank">questo</a> o <a href="https://www.meterian.com/projects/?pid=495ac650-b512-498d-b58b-fb5aff4d0320" target="_blank">questo</a>.<br></div><div><br></div><div>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 :)<br></div><div><br></div><div>Intravedo per ora altri tre altri fondamentali sistemi per dichiarare le dipendenze:<br></div><div><ol><li>setup.py<br></li><li>Venv<br></li><li>Conda<br></li></ol><div>Per quanto riguarda <b>setup.py </b>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.<br></div><div><br></div><div>Per quanto riguarda <b>venv </b>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. <br></div></div><div><br></div><div>Per <b>conda </b>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 <br></div><div>comando "conda.models.dag" (che pero' non sono riuscito a fare funzionare.<br></div><div><br></div><div>Se avete suggerimenti li apprezzo molto volentieri. E se volete usare il tool comunque e' gratis per progetti opensource :)<br></div><div><br></div><div>Grazie in anticipo e buona Pasqua (anche se casalinga quest'anno!).<br></div><div>Ciao,<br></div><div><br></div><div> Bruno<br></div><div><div><br></div><div><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div dir="ltr" style="color:rgb(0,0,0)"><div>--<br></div><div><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Bruno Bossola<br></div><div>CTO - <a href="http://meterian.io/" style="color:rgb(17,85,204)" target="_blank">meterian.io</a><br></div><div><a href="https://www.meterian.com/webscanner.html" style="color:rgb(17,85,204)" target="_blank">Scan your website now!</a><br></div></div><div style="margin:2px 0px 0px"><br></div></div></div></div><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><a href="https://www.meterian.com/projectscanner.html" style="color:rgb(17,85,204)" target="_blank">Scan your project now!</a><br></div><div style="margin:2px 0px 0px"><br></div></div></div></div></div></div><div style="color:rgb(0,0,0);margin:2px 0px 0px"><br></div></div></div></div></div></div></div></div></blockquote><div><br></div>_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it" target="_blank">Python@lists.python.it</a><br>
<a href="https://lists.python.it/mailman/listinfo/python" rel="noreferrer" target="_blank">https://lists.python.it/mailman/listinfo/python</a><br>
</blockquote></div>