requirements.txt extractor: turn a Jupyter notebook into pip dependencies in seconds
This requirements.txt extractor reads a .ipynb file, scans every code cell for imports and shell-magic install lines, and writes a clean requirements.txt you can hand to pip install -r. Drop the notebook in the browser and the file appears below; nothing leaves your machine. The tool covers the boring case people actually hit: someone shared a notebook, you want to run it locally, and you do not have time to read all the imports by hand.
Pure Python parsers tend to miss a few things. The extractor handles `import x`, `import a, b`, `import a as b`, `from x.y import z`, and shell magics like `!pip install pandas`, `%pip install requests==2.31`, and `!conda install -y numpy`. Standard-library modules drop out so you do not pin `os` or `json` by mistake. The well-known import-name aliases—`cv2 → opencv-python`, `sklearn → scikit-learn`, `PIL → Pillow`, `bs4 → beautifulsoup4`, `yaml → PyYAML`, `dotenv → python-dotenv`—map to their real PyPI names so `pip install -r` actually works.
Compared to running pipreqs locally, this page is faster when you only have one notebook to inspect, when the project is not on disk yet, or when you want to share a starter requirements.txt with a teammate before you create a virtual environment. It is also a useful sanity check after pipreqs: drop the same notebook here, eyeball the list, and adjust pins before you push.
The defaults give you a list pinned only where the notebook itself pinned things (via `!pip install pandas==2.2.1`). Turn off Map import names if you would rather see the raw module names. Turn off Sort to keep the order in which the imports appear. Turn off Header to skip the comment block at the top when you want a strict, machine-readable file.

