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

Rye: बिना झंझट का Python अनुभव

Rye, Python प्रोजेक्ट और पैकेज मैनेजमेंट के लिए एक समाधान है। Rye सभी Python उपयोगकर्ताओं के लिए एक एकीकृत अनुभव प्रदान करता है, और Python इंस्टॉलेशन, pyproject.toml-आधारित प्रोजेक्ट, dependencies और virtual environment को सहज रूप से मैनेज कर सकता है। यह जटिल प्रोजेक्ट, monorepo, और global tool इंस्टॉलेशन को सपोर्ट करता है।

इंस्टॉलेशन निर्देश

Linux

  • अपने operating system और CPU architecture के अनुसार binary इंस्टॉल करने के लिए curl कमांड चलाएँ
    curl -sSf https://rye.astral.sh/get | bash
    
  • नवीनतम रिलीज़ binary डाउनलोड करके इंस्टॉल करें
    gunzip rye-x86_64-linux.gz
    chmod +x ./rye-x86_64-linux
    ./rye-x86_64-linux
    

macOS

  • अपने operating system और CPU architecture के अनुसार binary इंस्टॉल करने के लिए curl कमांड चलाएँ
    curl -sSf https://rye.astral.sh/get | bash
    
  • नवीनतम रिलीज़ binary डाउनलोड करके इंस्टॉल करें
    gunzip rye-aarch64-macos.gz
    chmod +x ./rye-aarch64-macos
    ./rye-aarch64-macos
    

Windows

  • नवीनतम रिलीज़ binary डाउनलोड करके चलाएँ
  • "Developer Mode" सक्षम करने की सिफारिश की जाती है
  • 64-बिट Intel Windows: rye-x86_64-windows.exe
  • 32-बिट Intel Windows: rye-x86-windows.exe

ध्यान देने योग्य बातें

  • Rye अभी signed binaries का उपयोग नहीं करता। आपको executable को अनुमति देनी होगी।
  • "Bearfoos" trojan चेतावनी दिखाई दे सकती है। यह false positive है।
  • Rust और Cargo की आवश्यकता है। इन्हें rustup का उपयोग करके इंस्टॉल किया जा सकता है।
    cargo install --git https://github.com/astral-sh/rye rye
    

GN⁺ का सार

  • Rye, Python डेवलपर्स के लिए एकीकृत project और package management समाधान प्रदान करता है।
  • यह जटिल प्रोजेक्ट और global tool इंस्टॉलेशन को सपोर्ट करके developer experience को बेहतर बनाता है।
  • इंस्टॉलेशन प्रक्रिया में कुछ सावधानियाँ आवश्यक हैं, लेकिन कुल मिलाकर इसका उपयोग आसान है।
  • समान सुविधाओं वाले टूल्स में Poetry और Pipenv शामिल हैं।

2 टिप्पणियां

 
lum7671 2024-07-11

मुझे थोड़ा समय हो गया है, लेकिन यह-वह आज़माने के बाद
Introduction - PDM
का उपयोग कर रहा हूँ।

लगता है Rye भी इस्तेमाल करके देखना चाहिए।

 
GN⁺ 2024-07-10
Hacker News टिप्पणियाँ
  • uv में कई मुख्य packaging डेवलपमेंट चल रहे हैं, और Rye भी uv का उपयोग करता है

    • हाल ही में uv में "universal" resolution support जोड़ा गया है, जिससे ऐसे requirements.txt फ़ाइलें बनाई जा सकती हैं जो सभी platforms और operating systems पर काम करें
    • Rye भी अपनी नवीनतम release में इसे support करता है
    • Rye और uv के बारे में सवाल हों तो उनका जवाब दिया जा सकता है
  • Rye की एक कमी यह है कि यह non-standard Python builds इस्तेमाल करने की काफ़ी ज़ोरदार सिफारिश करता है

    • Rye के philosophy page के अनुसार, CPython builds पूरी तरह अपर्याप्त हैं और अलग-अलग platforms पर तरह-तरह की समस्याएँ पैदा करते हैं
    • यह project indygreg standalone builds का उपयोग करता है
    • कोई दूसरा Python भी चुना जा सकता है
    • आधिकारिक Python builds में कभी समस्या का अनुभव नहीं हुआ, इसलिए non-standard builds के उपयोग को लेकर चिंता है
  • कई उपयोगकर्ताओं को Rye पसंद है

    • Rye, venv/Python version/packaging प्रक्रिया को सच में सहज बना देता है
    • यह Python को Cargo जैसा महसूस कराता है
  • कुछ उपयोगकर्ता HN के निंदक रवैये से हैरान हैं

    • दूसरी भाषाओं के package managers (cargo, hex) इस्तेमाल करने के बाद, Python में वैसी समान system न होने की कमी महसूस हुई
    • Rye इस समस्या को पूरी तरह हल कर देता है
  • नया Python dependency manager देखना, नए JavaScript framework खोजने जैसा है

  • कुछ उपयोगकर्ताओं को pixi भी पसंद है

    • pixi Python version को pin कर सकता है और condaPyPI से packages install करने देता है
    • यह Rust में लिखा गया है
  • non-Python developers समझ नहीं पाते कि Python projects का DX इतना खराब क्यों है

    • npm/node के साथ project bootstrap करना और dependencies समझना बहुत आसान है
    • यह सवाल है कि Python को requirements.txt का mature alternative खोजने में इतना समय क्यों लगा
  • यह नोट करना ज़रूरी है कि uv team ने Armin project का अधिग्रहण कर लिया है

  • Rye शानदार लगता है, और Poetry का उपयोग करना भी पसंद है

    • Go के high-quality default tools के प्रति काफ़ी सम्मान है
    • हर बार Python project शुरू करते समय dependency/venv management फिर से सीखना पड़ता है, ऐसा महसूस होता है
  • Rye के introduction page के अनुसार, Rye अभी भी बहुत experimental tool है

    • इस project को लेकर काफ़ी उत्साह है, लेकिन यह अधिक mature stage तक पहुँचे तब तक इंतज़ार करने की योजना है
    • Astral team के बाकी सभी projects पसंद हैं, इसलिए इससे भी काफ़ी उम्मीदें हैं