Estrattore requirements.txt: trasforma un notebook Jupyter in dipendenze pip in pochi secondi
Questo estrattore requirements.txt legge un file .ipynb, scansiona ogni cella di codice per import e righe di installazione via shell magic, e produce un requirements.txt pulito da passare a pip install -r. Trascina il notebook nel browser e il file compare sotto; nulla lascia la tua macchina. Copre il caso reale che tutti incontrano: qualcuno ha condiviso un notebook, vuoi eseguirlo in locale e non hai tempo di leggere tutti gli import a mano.
I parser Python puri spesso perdono casi. L’estrattore gestisce `import x`, `import a, b`, `import a as b`, `from x.y import z`, e shell magic come `!pip install pandas`, `%pip install requests==2.31`, `!conda install -y numpy`. I moduli della libreria standard vengono filtrati così non fissi per errore `os` o `json`. Gli alias noti — `cv2 → opencv-python`, `sklearn → scikit-learn`, `PIL → Pillow`, `bs4 → beautifulsoup4`, `yaml → PyYAML`, `dotenv → python-dotenv` — mappano ai nomi PyPI reali così `pip install -r` funziona al primo colpo.
Rispetto a eseguire pipreqs in locale, questa pagina è più veloce quando devi ispezionare un solo notebook, il progetto non è ancora su disco, o vuoi condividere un requirements.txt iniziale con un collega prima di creare un ambiente virtuale. È anche un utile controllo dopo pipreqs: carica lo stesso notebook qui, rivedi l’elenco e aggiusta i pin prima del push.
Le impostazioni predefinite fissano le versioni solo dove il notebook le ha già fissate (tramite `!pip install pandas==2.2.1`). Disattiva Mappa nomi di import se preferisci i nomi modulo grezzi. Disattiva Ordina per mantenere l’ordine di apparizione degli import. Disattiva Intestazione per saltare il blocco di commenti in cima quando serve un file strettamente leggibile da macchina.

