requirements.txt extractor: Jupyter notebook को सेकंडों में pip dependencies में बदलें
यह requirements.txt extractor एक .ipynb पढ़ता है, हर कोड सेल में imports और shell-magic install पंक्तियाँ स्कैन करता है, और साफ़ requirements.txt लिखता है जिसे आप `pip install -r` दे सकते हैं। ब्राउज़र में notebook छोड़ें, नीचे फाइल दिखती है; आपकी मशीन से कुछ बाहर नहीं जाता। वह नीरस मामला जो लोग वास्तव में पाते हैं: किसी ने notebook साझा किया, आप इसे लोकली चलाना चाहते हैं, और सारे imports हाथ से पढ़ने का समय नहीं।
शुद्ध Python पार्सर कुछ चूक जाते हैं। Extractor `import x`, `import a, b`, `import a as b`, `from x.y import z`, और `!pip install pandas`, `%pip install requests==2.31`, `!conda install -y numpy` जैसी shell magics संभालता है। मानक-लाइब्रेरी मॉड्यूल गिर जाते हैं ताकि आप गलती से `os` या `json` pin न करें। ज्ञात import-नाम उपनाम—`cv2 → opencv-python`, `sklearn → scikit-learn`, `PIL → Pillow`, `bs4 → beautifulsoup4`, `yaml → PyYAML`, `dotenv → python-dotenv`—अपने असली PyPI नामों पर मैप होते हैं ताकि `pip install -r` वास्तव में चले।
स्थानीय pipreqs चलाने की तुलना में, यह पृष्ठ तेज़ है जब केवल एक notebook जाँचना हो, प्रोजेक्ट अभी डिस्क पर न हो, या वर्चुअल वातावरण बनाने से पहले साथी के साथ स्टार्टर requirements.txt साझा करना हो। pipreqs के बाद सैनिटी चेक भी उपयोगी: वही notebook यहाँ छोड़ें, सूची देखें, और push से पहले pins समायोजित करें।
डिफ़ॉल्ट वही सूची देते हैं जहाँ notebook ने स्वयं pin किया (`!pip install pandas==2.2.1` के ज़रिए)। यदि कच्चे मॉड्यूल नाम देखने हों तो Map import names बंद करें। import क्रम रखने के लिए Sort बंद करें। सख्त, मशीन-पठनीय फाइल चाहिए तो Header बंद करके शीर्ष टिप्पणी ब्लॉक छोड़ दें।

