Positron – अगली पीढ़ी का डेटा साइंस IDE
(positron.posit.co)- Positron RStudio बनाने वाली कंपनी Posit द्वारा नया विकसित किया गया अगली पीढ़ी का डेटा साइंस-विशेष IDE है
- यह IDE R और Python को मूल रूप से सपोर्ट करता है, और कई भाषाओं को मिलाकर इस्तेमाल होने वाले डेटा साइंस वातावरण के लिए उपयुक्त मल्टीलैंग्वेज (polyglot) प्लेटफ़ॉर्म के रूप में डिज़ाइन किया गया है
- संरचनात्मक रूप से यह VS Code के Code OSS पर आधारित है, जिससे परिचित वातावरण और समृद्ध extensibility मिलती है, साथ ही डेटा साइंटिस्ट्स के लिए विशेष plots·variables·help·data explorer जैसी सुविधाएँ भी शामिल हैं
- नए R kernel Ark और Tree-sitter R grammar support के माध्यम से code execution, autocomplete, debugging और documentation navigation को और बेहतर बनाया गया है, और R तथा C++ मिश्रित code का debugging भी संभव है
- RStudio को अब भी स्थिर रूप से बनाए रखा और सपोर्ट किया जा रहा है, लेकिन Positron मल्टीलैंग्वेज सपोर्ट, extensibility और modern architecture के आधार पर लंबे समय में डेटा साइंस development environment का केंद्र बनने की संभावना रखता है
Positron का परिचय और इसकी ज़रूरत
- यह एक डेटा साइंस-विशेष IDE है, जो सामान्य software development IDE से अलग डेटा analysis-केंद्रित कामों के लिए अनुकूलित अनुभव देता है
- GUI-आधारित टूल के बजाय यह code-first approach को प्राथमिकता देता है, जिससे productivity और reproducibility बेहतर होती है
- मौजूदा IDEs (RStudio, Spyder, MATLAB आदि) की single-language centered सीमाओं से आगे बढ़ते हुए, यह कई भाषाओं को मिलाकर इस्तेमाल करने वाले वास्तविक workflow के लिए उपयुक्त है
प्रमुख विशेषताएँ
- मल्टीलैंग्वेज सपोर्ट: वर्तमान में R और Python समर्थित हैं, और संरचनात्मक रूप से अन्य भाषाओं तक विस्तार संभव है
- परिचित लेकिन विस्तार योग्य UI: RStudio जैसी 4-pane संरचना (source·console·variables·plots) देता है, साथ ही VS Code-आधारित extensibility भी रखता है
- भाषा-विशिष्ट इंजन (Language Packs): Python और R स्वतंत्र extensions के रूप में चलते हैं, जिससे IDE की स्थिरता बनी रहती है; crash होने पर पूरा IDE बंद नहीं होता
R सपोर्ट के लिए Ark
- Ark (An R Kernel): R के लिए नया Jupyter kernel, जो code execution, autocomplete, diagnostics और debugging सुविधाएँ देता है
- Tree-sitter R grammar सपोर्ट नया विकसित किया गया है, जिससे GitHub code search और अन्य IDEs (Zed, Neovim आदि) में भी इसका उपयोग संभव है
- debugger में नवाचार: R code से सीधे C++ code में step-through किया जा सकता है, जिससे Rcpp/cpp11-आधारित package development में debugging efficiency काफी बढ़ती है
डेटा साइंस-विशेष सुविधाएँ
- Data Explorer: साधारण table/grid से आगे बढ़कर summary statistics, missing values की जाँच, multi-filtering और histogram sparklines देता है
- Variables Pane: variable name, type, preview और dictionary expansion की जाँच संभव है
- Plots Pane: visual outputs को जमा करके तुलना करने और विभिन्न formats (PNG, SVG, PDF आदि) में export करने की सुविधा देता है
- Help Pane: function name के बाद
?टाइप करते ही तुरंत documentation और examples देखे जा सकते हैं; RStudio की यह ताकत Python users को भी मिलती है
तकनीकी आधार और architecture
- RStudio से अलग, यह single-process structure के बजाय VS Code के Code OSS-आधारित multi-layer architecture को अपनाता है
- मानक protocols का उपयोग:
- code execution → Jupyter Protocol
- code assistance (autocomplete·syntax checking) → Language Server Protocol
- debugging → Debug Adapter Protocol
- इस standardization के कारण Jupyter Notebook, Zed IDE जैसे विभिन्न environments के साथ interoperability संभव है
community और extensibility
- Open VSX marketplace के माध्यम से अनेक VS Code-compatible extensions का उपयोग किया जा सकता है (हालाँकि GitHub Copilot उपलब्ध नहीं है)
- Quarto, Shiny, database connection आदि extensions के ज़रिए सुविधाएँ बढ़ाई जा सकती हैं
- dark theme·layout changes·RStudio keymap compatibility जैसी user customization भी मजबूत की गई है
RStudio के साथ संबंध
- RStudio को लगातार बनाए रखा और सपोर्ट किया जाएगा, और इसकी stability तथा maturity के कारण निकट भविष्य में बहुत से users इसका उपयोग करते रहेंगे
- Positron एक प्रयोगात्मक लेकिन अधिक extensible नया विकल्प है, जो लंबी अवधि में डेटा साइंस IDE के विकास की दिशा दिखाता है
Positron किन users के लिए उपयुक्त है
- VS Code users: जिन्हें लगता है कि डेटा साइंस-विशेष सुविधाएँ कम हैं
- JupyterLab·Notebook users: जो अधिक शक्तिशाली और पूर्ण IDE की ओर बढ़ना चाहते हैं
- RStudio users: जो IDE की customization और extensibility को मजबूत करना चाहते हैं
- बहुभाषी users: जो Python·R के अलावा Rust, C++, JavaScript, Lua आदि का उपयोग करते हैं
- AI उपयोग-उन्मुख users: जो डेटा साइंस के लिए विशेष AI integration चाहते हैं
आगे की संभावनाएँ
- Posit Workbench·Cloud integration सपोर्ट की योजना है, और collaboration features (real-time sharing·workspace sharing) पर भी शोध चल रहा है
- large-scale data support, DuckDB·Arrow integration आदि के साथ on-disk data processing capabilities को और मजबूत करने की योजना है
- मल्टीलैंग्वेज, extensibility और standard protocol-आधारित ताकतों के कारण यह डेटा साइंस IDE के अगली पीढ़ी के standard के रूप में उभर सकता है
2 टिप्पणियां
Hacker News की राय
यह बात निराशाजनक है कि advanced features के लिए pyright और jedi का इस्तेमाल किया जा रहा है; मुझे लगता है basedpyright बेहतर विकल्प होता। jedi में pylance या basedpyright की तुलना में Python language support कमजोर है। इसे open source कहा जा रहा है, लेकिन इसकी सीमाएँ साफ़ हैं, इसलिए इस तरह पेश करना भी खास अच्छा नहीं लगता। हमारी कंपनी ने R Connect Server / Posit Server इस्तेमाल किया था, लेकिन internal app पर सिर्फ authentication चालू करने भर के लिए इतनी ज़्यादा कीमत माँगी गई कि हमें किसी और विकल्प पर जाना पड़ा। नया विकल्प मिल गया और security team भी संतुष्ट हो गई, लेकिन प्रक्रिया बहुत कठिन थी और users भी काफी असंतुष्ट थे। तभी से मैं Posit के commercial products से बचता रहा हूँ, और इस बार भी यह धुंधली सीमा मुझे हिचकिचाने पर मजबूर करती है
यह product अच्छा बना हुआ लगता है, इसलिए मैं इसे ज़्यादा नीचा नहीं दिखाना चाहता, लेकिन proper SQL client के बिना data science IDE बनाना मेरी समझ से बाहर है। यह मेरी bias हो सकती है, पर workflow में SQL वास्तव में बहुत अहम हिस्सा है। सिर्फ इस वजह से भी मुझे लगता है कि यह पहले से ही PyCharm या Visual Studio (Code नहीं, असली VS) से पीछे है। मुझे पता है कि full-featured IDE भारी tools होते हैं, लेकिन अगर सिर्फ editing करनी हो तो मैं vim इस्तेमाल करूँगा, और असली काम के लिए अधिक शक्तिशाली tool बेहतर है
मैं Positron developer हूँ। पहली राय से मैं पूरी तरह असहमत नहीं हूँ। हम Python और R में connection management features देते हैं: connections pane. data explorer, Quarto के ज़रिये Observable connections जैसी पहले से बनी सुविधाओं के आधार पर SQL support को और बढ़ाना हमारा बड़ा लक्ष्य है। इस साल की चौथी तिमाही से हम इस क्षेत्र में निवेश करने की योजना बना रहे हैं
यह product vsc पर आधारित लगता है। मुझे लगता है कि कम से कम एक ठीक-ठाक SQL client extension तो उपलब्ध होगी
समस्या यह है कि यह open source नहीं है: इसमें लिखा है, “उपयोगकर्ता software की मुख्य functionality या उसके बड़े हिस्से तक पहुँच सकें, इस तरह software को third party को hosted या managed service के रूप में उपलब्ध नहीं कराया जा सकता”
कहा जाता है कि यह VSCode open source पर आधारित है, लेकिन project page पर यह बहुत अस्पष्ट है कि कौन-सी functionality या dependencies open source नहीं हैं, या कौन-सी free नहीं हैं (जैसे paid subscription, enterprise plan, premium account आदि की ज़रूरत)। इस लिहाज़ से अच्छा होता अगर revenue model को साफ़ तौर पर समझाया जाता। IDE में GenAI assistant को bundled रूप में देना भी मुझे ऐसे ही किसी “शर्त” का स्पष्ट संकेत लगता है। अफ़सोस है कि FAQ में इस बारे में कुछ नहीं है
मेरे लिए Emacs ही एकमात्र सचमुच का next-generation data science IDE है, और साथ ही बेशक पिछली पीढ़ी का IDE भी
मैं जानना चाहूँगा कि आप खास तौर पर कौन-से packages और workflow इस्तेमाल करते हैं। ऐसा लगता है कि आसान और अच्छी तरह maintain किया गया beginner material कम है, इसलिए कोई संदर्भ उपयोगी होगा
क्या आप थोड़ा और विस्तार से बता सकते हैं?
लगता है अब VSCode forks से बच निकलना नामुमकिन है
इससे मुझे "Days Since Last VSCode Fork" नाम की साइट याद आ गई। वह साइट यहाँ है, लेकिन लगता है कि अब maintain नहीं हो रही
मेरे हिसाब से Monaco team ने सच में कमाल का काम किया है। VS Code की जटिलता में से वास्तव में कौन-सी चीज़ें मूल रूप से ज़रूरी हैं, यह साफ़ नहीं है, लेकिन अगर कोई 10% code में 90% functionality देने वाला slim version बना दे, तो वह editing environment को उतना ही बदल सकता है जितना VS Code ने किया था। अगर उसमें portability भी हो तो और बेहतर, हालांकि HTML+JS+CSS dependencies से बचना मुश्किल लगता है। Dear ImGui extensions जैसी कोशिशों का भी ज़िक्र करना चाहूँगा
मैं academia में R studio का daily user हूँ, और Python के लिए VS code इस्तेमाल करता हूँ। कुछ महीने पहले मैंने posit आज़माया था, लेकिन daily use के लिए उसमें stability कम थी और ज़रूरी packages भी सभी नहीं थे। मैं जल्द ही इसे फिर आज़माने का सोच रहा हूँ। R और Python इस्तेमाल करते समय मेरी आदतें काफी अलग-अलग बँटी हुई हैं, इसलिए मेरे जैसे लोगों को switch करने में समय लगेगा। मैंने करीब एक हफ्ते तक R को VS code में इस्तेमाल किया, लेकिन कुछ ठीक-सा नहीं लगा। अगर connection panel सच में बहुत smoothly काम करे, तो उम्मीद ज़रूर बढ़ेगी
Positron एक ultracompact 3D printer का नाम भी है। Positron3D नाम के product ने ultracompact 3D printer क्षेत्र को नए सिरे से परिभाषित किया है, और ‘Positron drive’ नाम का motor system भी जाना-पहचाना है। इस product का एक sibling JourneyMaker-Positron भी है। JourneyMaker का एक low-cost version Lemontron भी है, जिसमें CNC machined parts के बिना frame को सीधे 3D print किया जा सकता है
यह tool और ecosystem Julia को support नहीं करते। आजकल अगर कोई data science के लिए multi-language tool कहता है, तो मुझे लगता है कि सिर्फ R और Python पर्याप्त नहीं हैं। समझ नहीं आता कि Julia support क्यों नहीं है
मैं Positron developer हूँ। Julia support request वाला issue यहाँ track किया जा रहा है, इसलिए चाहें तो वहाँ अपनी राय छोड़ सकते हैं
Julia कभी व्यापक लोकप्रियता हासिल नहीं कर पाई, और अब तो उलटे गिरावट में है
यह बिल्कुल Anaconda या WinPython के साथ आने वाले Spyder IDE जैसा लगता है। इसमें code editor, REPL, variable inspector, inline charts आदि सब कुछ है
क्या Jupyter built-in नहीं है?