9 पॉइंट द्वारा GN⁺ 2024-02-08 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • Rust में लिखा गया ओपन सोर्स Python 3 (CPython >= 3.11.0) इंटरप्रेटर
  • इसे Rust प्रोग्राम में एम्बेड करके इस्तेमाल किया जा सकता है, या वेब ब्राउज़र में Python चलाने के लिए WebAssembly में compile किया जा सकता है
  • MIT लाइसेंस

लक्ष्य

  • केवल Rust का उपयोग करके एक पूर्ण Python 3 environment लागू करना (कोई CPython binding नहीं).
  • Rust में उपयोग किए जा सकने वाले या WebAssembly में compile किए जा सकने वाले तेज़, विश्वसनीय और सुरक्षित Python implementation का लक्ष्य

RustPython के फ़ायदे

  • कई तरह के Python implementation मौजूद हैं, लेकिन RustPython, Rust programming language के लिए बनाया गया है
  • जैसे Jython और IronPython क्रमशः Java और .NET के साथ integration संभव बनाते हैं, वैसे ही RustPython का लक्ष्य Rust के साथ integration है
  • Rust के minimal runtime की बदौलत इसे WebAssembly में compile करके ब्राउज़र में Python code को आसानी से चलाया जा सकता है

इंस्टॉलेशन तरीका

  • cargo install --git https://github.com/RustPython/RustPython
  • wapm install rustpython
  • conda install rustpython -c conda-forge
  • या source से सीधे build किया जा सकता है.

GN⁺ की राय

  • RustPython, Rust की safety और performance का उपयोग करके Python इंटरप्रेटर को नए सिरे से implement करने वाला प्रोजेक्ट है.
  • मौजूदा Python implementation से अलग, यह Rust-आधारित है, जिससे Rust और Python के integration को मज़बूती मिलती है और WebAssembly के ज़रिए वेब पर Python चलाना संभव होता है.
  • यह अभी development में चल रहा प्रोजेक्ट है, जो Python ecosystem में नई संभावनाएँ पेश करता है और Rust व Python को साथ इस्तेमाल करना चाहने वाले developers के लिए एक दिलचस्प विकल्प हो सकता है.

2 टिप्पणियां

 
cosine20 2024-02-08

दिलचस्प प्रोजेक्ट है, लेकिन मेरी राय में यह अभी इतना उपयोगी होगा या नहीं, इस पर मुझे अभी भी यक़ीन नहीं है.. जैसा पहले भी बताया गया था, Jython और IronPython भी आखिरकार CPython के versions के साथ कदम मिलाना मुश्किल पाते रहे, इसलिए वे सिर्फ़ बहुत सीमित जगहों पर ही काम आने वाले विकल्प बनकर रह गए। मुझे लगता है कि लोग RustPython से जो उम्मीदें कर रहे हैं, उन्हें पूरा करने के लिए उसे अभी काफ़ी लंबा रास्ता तय करना है।

 
GN⁺ 2024-02-08
Hacker News टिप्पणियाँ
  • "it can be compiled to WebAssembly in order to run Python in the browser."

    • एक उपयोगकर्ता ने CPython और NodeJS का उपयोग करने वाला एक समान दृष्टिकोण देखा था, और उनका मानना है कि यह तरीका व्यावहारिक नहीं है।
    • WebAssembly (Wasm) में कंपाइल किए गए runtime के ऊपर Python कोड चलाने पर प्रदर्शन में दोहरी गिरावट आती है।
    • किसी dynamic type भाषा को Wasm runtime में चलाने के लिए उस भाषा को सीधे Wasm में कंपाइल होना चाहिए।
    • यह प्रोजेक्ट अब भी शानदार और उपयोगी है, और ब्राउज़र में उपयोग किए जा सकने वाले Python कोड की मात्रा काफी है, लेकिन इस तरीके से web framework बनाने की कोशिश नहीं करनी चाहिए।
    • उन्होंने RustPython के performance benchmark नहीं किए हैं, और यह भी माना कि RustPython कुछ ऐसे ट्रिक्स इस्तेमाल कर सकता है जो व्यापक रूप से ज्ञात नहीं हैं।
  • संबंधित लिंक:

    • RustPython, Rust में लिखा गया Python 3 interpreter है, जिसे अलग-अलग समय पर Hacker News पर पोस्ट किया गया और उस पर विविध टिप्पणियाँ मिलीं।
  • MicroPython पर सकारात्मक राय:

    • एक उपयोगकर्ता ने कहा कि MicroPython शानदार है, और यह RP2040 पर चलता है।
  • RustPython पर विभिन्न राय:

    • कुछ उपयोगकर्ता मानते हैं कि RustPython, IronPython का उत्तराधिकारी है।
    • एक उपयोगकर्ता को यह अच्छा लगता है कि Python के लिए एक स्वस्थ third-party interpreter community मौजूद है।
    • एक उपयोगकर्ता यह जानना चाहता है कि कौन-सी समस्याएँ RustPython और CPython के बीच के अंतर को उजागर करती हैं।
    • एक उपयोगकर्ता ने RustPython की प्रगति पर खुशी जताई और Wasmer का उपयोग करके RustPython चलाने का तरीका साझा किया।
  • RustPython की सीमाओं पर राय:

    • एक उपयोगकर्ता को भरोसा नहीं है कि RustPython जैसे प्रोजेक्ट व्यापक रूप से अपनाए जा सकेंगे।
    • उन्होंने कहा कि Python की असली उपयोगिता native libraries के साथ उसके interface में है, और PyPy जैसी चीज़ों का उपयोग करने पर वह सारी पहुँच खो जाती है।
  • Jython और IronPython पर आलोचनात्मक राय:

    • एक उपयोगकर्ता का कहना है कि अब जबकि Python 2 समाप्त हो चुका है, Python 3 में संक्रमण करने में विफल रहे Jython और IronPython का उल्लेख करने लायक महत्व नहीं है।
  • RustPython का उपयोग करने वाले प्रोजेक्ट का अनुभव साझा:

    • एक उपयोगकर्ता ने बताया कि वे RustPython को Kybra प्रोजेक्ट के interpreter के रूप में उपयोग कर रहे हैं, जो Internet Computer Protocol के लिए एक Python environment है, और Wasm ही ICP का runtime environment है।
    • उन्होंने कहा कि C extension का न होना एक समस्या है, लेकिन जब wasi और C extension support तैयार हो जाएगा, तब वे CPython पर जाने की योजना रखते हैं।
  • RustPython के प्रदर्शन की तुलना:

    • एक उपयोगकर्ता ने Fibonacci sequence की गणना के माध्यम से जाँचा कि RustPython, CPython की तुलना में लगभग 11 गुना धीमा है, और परिणाम साझा किए।