2 पॉइंट द्वारा GN⁺ 2024-08-23 | 1 टिप्पणियां | WhatsApp पर शेयर करें

Armin Ronacher के विचार और लेख

Python पैकेजिंग के लिए Rye और uv: अगस्त फसल का मौसम है

  • कुछ महीने पहले, Rye पैकेजिंग टूल का प्रबंधन Astral को सौंप दिया गया था
  • Astral टीम पिछले कुछ महीनों से Python पैकेजिंग के लिए कई टूल विकसित कर रही है
  • हाल की रिलीज़ में uv ने pyproject.toml फ़ाइल में बदलाव, workspace support, local package references और script installation जैसी सुविधाएँ जोड़ी हैं
  • uv अब Python installation भी manage कर सकता है, इसलिए यह Rye के बहुत क़रीब हो गया है
  • Rye का उपयोग करने वालों को uv पर ध्यान देना चाहिए और फ़ीडबैक देना चाहिए

EuroPython में प्रस्तुति

  • हाल ही में Prague में आयोजित EuroPython में Python पैकेजिंग पर अपने विचार और Rye बनाते समय सीखे गए सबक साझा किए गए
  • पैकेजिंग टूल का लक्ष्य ऐसा सबसे अच्छा टूल बनना है जिसे हर कोई इस्तेमाल करे
  • AI और ML में निवेश और रुचि की वजह से Python एक बेहद लोकप्रिय platform बन गया है
  • Python सीखने वाले लोग एक शानदार developer experience याद रखें, यह इच्छा है
  • अभी बहुत ज़्यादा टूल और असंगति के कारण कठिनाई है

टूल का प्रभुत्व

  • प्रभुत्व का मतलब है कि ज़्यादातर निवेश एक ही stack में जाता है
  • Rye जैसे टूल को तब गायब हो जाना चाहिए जब कोई प्रमुख टूल स्थापित हो जाए
  • uv के उस टूल बनने की संभावना सबसे ज़्यादा है
  • अंततः Rye की जगह uv ले लेगा

पैकेजिंग ecosystem का विकास

  • कई पैकेजिंग टूल Python ecosystem के विकास की बुनियाद पर बनाए गए हैं
  • setup.py फ़ाइलों से eggs और wheels की ओर बदलाव, metadata standards की शुरुआत जैसे कई विकास हुए हैं
  • Rust crates और Python libraries के विकास ने ऐसे टूल संभव बनाए हैं

कम्युनिटी का अगला कदम

  • कम्युनिटी को कम टूल recommend करने चाहिए
  • एक समय था जब ez_setup.py और easy_install recommend किए जाते थे
  • अभी pip, pip-tools, poetry, PDM आदि recommend किए जाते हैं
  • महत्वपूर्ण Python projects को maintain करने वाले लोगों को uv आज़माना चाहिए और यह सोचना चाहिए कि क्या इसे recommend करना चाहिए

Astral की VC funding

  • यह सोचना चाहिए कि Astral द्वारा VC funding लेने का भविष्य पर क्या असर होगा
  • code और uv की capabilities को देखें तो, सबसे बुरी स्थिति में भी कम्युनिटी uv के आने से पहले की तुलना में बेहतर स्थिति में होगी

GN⁺ की संक्षिप्त समीक्षा

  • यह लेख Python पैकेजिंग टूल के विकास और कम्युनिटी की भूमिका पर चर्चा करता है
  • uv कई सुविधाएँ देता है और Rye की जगह लेने की संभावना रखता है
  • कम्युनिटी को कम टूल recommend करने चाहिए और uv को आज़माने की ज़रूरत है
  • Astral की VC funding का भविष्य पर असर भी ध्यान में रखना चाहिए
  • समान सुविधाओं वाले टूल में pip, poetry, PDM आदि शामिल हैं

1 टिप्पणियां

 
GN⁺ 2024-08-23
Hacker News की राय
  • uv के नवीनतम रिलीज़ ने Home Assistant की रिलीज़ प्रक्रिया को काफ़ी तेज़ कर दिया

    • रिलीज़ समय लगभग 2.5 घंटे से घटकर लगभग 20 मिनट रह गया
    • अधिक जानकारी Home Assistant डेवलपर ब्लॉग में देखी जा सकती है
  • शुरुआत में उम्मीद थी कि नया टूल Python "packaging" समस्या हल करेगा, लेकिन वास्तव में यह package management के बारे में है

    • व्यक्तिगत रूप से Python package management में कभी कोई बड़ी समस्या नहीं रही
    • pip आमतौर पर अच्छी तरह काम करता है
  • Python में applications को executable files के रूप में आसानी से पैक न कर पाना असुविधाजनक है

    • production environment में अक्सर git clone और virtualenv बनाते देखा जाता है
    • यह security के नज़रिए से अच्छा नहीं है
  • Python packaging में समस्याएँ हैं, लेकिन बेसिक pip के साथ भी काम काफ़ी ठीक चलता रहा है

    • पहले virtualenv से बिल्ट-इन venv module पर जाना एक बड़ा बदलाव था
    • dependency management को गंभीरता से करना हो तो FAANG की तरह monorepo बनाना बेहतर है
  • npm VC धोखाधड़ी और Microsoft के अधिग्रहण, तथा OpenAI की कानूनी non-profit स्थिति के कारण मुख्य language infrastructure को ऐसे संगठनों पर छोड़ने में हिचक होती है

    • व्यक्तिगत contributors बेहतरीन हैं, लेकिन संगठन स्तर पर financial alignment समस्या है
    • तेज़ lint, type check, code scan, PR assistant को कभी भी बदला जा सकता है, लेकिन install flow और package repository को नहीं
  • इन tools की समस्या authority है

    • pypa की मंज़ूरी न होने के कारण यह cargo से अलग है
    • pypa एक comprehensive solution देने में विफल रहा
    • सिर्फ़ 3-4 साल पहले तक poetry और pipenv को समस्या का समाधान माना जा रहा था
    • pypa को astral.sh में भाग लेना चाहिए, लेकिन क्या वह बिना control के ऐसा कर पाएगा, इस पर संदेह है
  • Armin का तर्क है कि uv को इस क्षेत्र पर हावी होना चाहिए, लेकिन वह मानता है कि VC backing के कारण समस्याएँ पैदा हो सकती हैं

    • उसका समाधान यह है that uv को आसानी से fork किया जा सकता है
    • लेकिन forks और अधिक fragmentation लाते हैं
  • कंपनी में poetry की धीमी गति के कारण software को uv पर migrate करने की कोशिश हो रही है

    • बहुत सारे documents पढ़े गए, लेकिन वास्तव में ज़्यादा कुछ किया नहीं गया
    • पहले poetry पर migration करना कहीं आसान था
    • uv अभी भी Python package से जुड़ी कई समस्याएँ बनाए रखता है
  • यह भी समझा जा सकता है कि लोग इस राउंड को छोड़कर 2026 के "Python package manager: इस बार सच में हल कर दिया!" का इंतज़ार करें

    • Nix उपयोगकर्ता अब भी संतुष्ट हैं
  • कुछ लोग package manager विकसित करने को लेकर बेहद उत्साही हैं

    • अगर यह स्थिति जारी रही, तो हर साल एक नया package manager आता रहेगा