आईपीथॉन

IPython (इंटरएक्टिव पायथन) कई प्रोग्रामिंग भाषाओं में इंटरएक्टिव कंप्यूटिंग के लिए एक शैल (कंप्यूटिंग) है, जो मूल रूप से पायथन (प्रोग्रामिंग लैंग्वेज) के लिए विकसित किया गया है, जो आत्मनिरीक्षण (कंप्यूटर विज्ञान), धनी मीडिया , शेल सिंटैक्स, टैब पूर्णता और इतिहास प्रदान करता है। IPython निम्नलिखित विशेषताएं प्रदान करता है:


 * इंटरएक्टिव गोले (टर्मिनल और क्यूटी (फ्रेमवर्क)-आधारित)।
 * कोड, पाठ, गणितीय अभिव्यक्ति, इनलाइन प्लॉट और अन्य मीडिया के समर्थन के साथ एक ब्राउज़र-आधारित नोटबुक इंटरफ़ेस।
 * इंटरैक्टिव डेटा विज़ुअलाइज़ेशन और जीयूआई टूलकिट के उपयोग के लिए समर्थन।
 * अपने स्वयं के प्रोजेक्ट में लोड करने के लिए लचीले, एम्बेड करने योग्य दुभाषिए।
 * समानांतर कंप्यूटिंग के लिए उपकरण।

IPython एक न्यूफोकस वित्तीय रूप से प्रायोजित परियोजना है।

समानांतर कंप्यूटिंग
IPython एक आर्किटेक्चर पर आधारित है जो समानांतर और वितरित कंप्यूटिंग प्रदान करता है। IPython समानांतर अनुप्रयोगों को विकसित करने, निष्पादित करने, डिबग करने और अंतःक्रियात्मक रूप से निगरानी करने में सक्षम बनाता है, इसलिए IPython में I (इंटरएक्टिव). यह आर्किटेक्चर समांतरता को अमूर्त करता है, जिससे IPython समांतरता की कई अलग-अलग शैलियों का समर्थन करने में सक्षम हो जाता है शामिल:


 * एकल कार्यक्रम, एकाधिक डेटा (एसपीएमडी) समांतरता
 * एकाधिक कार्यक्रम, एकाधिक डेटा (एमपीएमडी) समांतरता
 * संदेश पासिंग इंटरफ़ेस का उपयोग करके मैसेज पास करना
 * कार्य समानता
 * डेटा समानता
 * इन दृष्टिकोणों का संयोजन
 * कस्टम उपयोगकर्ता परिभाषित दृष्टिकोण

IPython 4.0 की रिलीज़ के साथ, समानांतर कंप्यूटिंग क्षमताओं को वैकल्पिक बना दिया गया और ipyparallel पायथन पैकेज के तहत जारी किया गया। और ipyparallel की अधिकांश क्षमताएं अब अधिक परिपक्व पुस्तकालयों जैसे कि Dask (सॉफ़्टवेयर) द्वारा कवर की गई हैं।

IPython अक्सर SciPy स्टैक से ड्रॉ करता है NumPy और SciPy जैसे पुस्तकालय, अक्सर कई वैज्ञानिक पायथन वितरणों में से एक के साथ स्थापित होते हैं। IPython SciPy स्टैक के कुछ पुस्तकालयों के साथ एकीकरण प्रदान करता है, विशेष रूप से matplotlib, ज्यूपिटर नोटबुक के साथ उपयोग किए जाने पर इनलाइन ग्राफ़ का उत्पादन करता है। पायथन पुस्तकालय अमीर वस्तु प्रदर्शन को अनुकूलित करने के लिए IPython विशिष्ट हुक लागू कर सकते हैं। उदाहरण के लिए SymPy IPython संदर्भ में उपयोग किए जाने पर LaTeX के रूप में गणितीय अभिव्यक्तियों के प्रतिपादन को लागू करता है, और पांडा (सॉफ़्टवेयर) डेटाफ़्रेम एक HTML प्रतिनिधित्व का उपयोग करते हैं।

अन्य विशेषताएं
IPython Tkinter, PyGTK, PyQt/PySide और wxPython के साथ नॉन-ब्लॉकिंग इंटरैक्शन की अनुमति देता है (मानक Python शेल केवल Tkinter के साथ इंटरैक्शन की अनुमति देता है)। IPython एसिंक्रोनस स्टेटस कॉलबैक और/या मैसेज पासिंग इंटरफ़ेस का उपयोग करके समानांतर कंप्यूटर क्लस्टर को अंतःक्रियात्मक रूप से प्रबंधित कर सकता है। IPython को सिस्टम शेल रिप्लेसमेंट के रूप में भी इस्तेमाल किया जा सकता है। इसका डिफ़ॉल्ट व्यवहार काफी हद तक यूनिक्स खोल के समान है, लेकिन यह लाइव पायथन वातावरण में अनुकूलन और कोड निष्पादन के लचीलेपन की अनुमति देता है।

पायथन 2 समर्थन का अंत
IPython 5.x (लॉन्ग टाइम सपोर्ट) सीरीज़, Python 2 को सपोर्ट करने के लिए IPython का आखिरी वर्जन है। IPython प्रोजेक्ट ने 2020 के बाद Python 2 को सपोर्ट नहीं करने का संकल्प लिया है। Python 3 Statement में शामिल होने वाली पहली परियोजनाओं में से एक होने के नाते, 6.x श्रृंखला केवल Python 3 और इसके बाद के संस्करण के साथ संगत है। यह अभी भी संभव है कि अलग-अलग पायथन संस्करणों पर एक IPython कर्नेल और एक ज्यूपिटर नोटबुक सर्वर चलाना, जिससे उपयोगकर्ता अभी भी Jupyter के नए संस्करण पर Python 2 का उपयोग कर सकें।

प्रोजेक्ट ज्यूपिटर
2014 में, IPython निर्माता फर्नांडो पेरेज़ (सॉफ्टवेयर डेवलपर) | फर्नांडो पेरेज़ ने प्रोजेक्ट ज्यूपिटर नामक IPython से एक स्पिन-ऑफ़ प्रोजेक्ट की घोषणा की। IPython एक Python शेल और Jupyter के लिए कर्नेल के रूप में मौजूद रहा, लेकिन नोटबुक इंटरफ़ेस इंटरफ़ेस और IPython के अन्य भाषा-अज्ञेय भागों को Jupyter नाम के तहत स्थानांतरित कर दिया गया। जुपिटर भाषा अज्ञेयवादी है और इसका नाम जुपिटर द्वारा समर्थित मुख्य प्रोग्रामिंग भाषाओं का एक संदर्भ है, जो जूलिया (प्रोग्रामिंग भाषा), पायथन (प्रोग्रामिंग भाषा), और आर (प्रोग्रामिंग भाषा) हैं। Jupyter Notebook इंटरफ़ेस (पूर्व में IPython Notebook) एक समृद्ध समृद्ध इंटरनेट अनुप्रयोग Jupyter नोटबुक बनाने, निष्पादित करने और देखने के लिए वेब-आधारित इंटरैक्टिव कम्प्यूटेशनल वातावरण। यह मैपल (सॉफ्टवेयर), मेथेमेटिका, और सेजमैथ जैसे अन्य कार्यक्रमों के नोटबुक इंटरफ़ेस के समान है, जो एक कम्प्यूटेशनल इंटरफ़ेस शैली है जो 1980 के दशक में मैथमैटिका के साथ उत्पन्न हुई थी। यह दर्जनों भाषाओं में निष्पादन वातावरण (उर्फ कर्नेल) का समर्थन करता है। डिफ़ॉल्ट रूप से Jupyter Notebook IPython कर्नेल के साथ आता है, लेकिन मई 2018 तक 100 से अधिक Jupyter कर्नेल हैं।

मीडिया में
लोकप्रिय कंप्यूटिंग प्रेस और अन्य लोकप्रिय मीडिया में IPython का उल्लेख किया गया है, और वैज्ञानिक सम्मेलनों में इसकी उपस्थिति है। वैज्ञानिक और इंजीनियरिंग कार्यों के लिए, इसे अक्सर matplotlib के साथी उपकरण के रूप में प्रस्तुत किया जाता है।

अनुदान और पुरस्कार
1 जनवरी 2013 से, अल्फ्रेड पी. स्लोन फाउंडेशन ने घोषणा की कि वह दो साल के लिए आईपीथॉन के विकास का समर्थन करेगा। 23 मार्च 2013 को, फर्नांडो पेरेज़ (सॉफ्टवेयर डेवलपर) को IPython के लिए फ्री सॉफ्टवेयर फाउंडेशन फ्री सॉफ्टवेयर अवार्ड फॉर प्रोजेक्ट्स ऑफ सोशल बेनिफिट # एडवांसमेंट ऑफ फ्री सॉफ्टवेयर अवार्ड से सम्मानित किया गया।

अगस्त 2013 में, Microsoft ने IPython के निरंतर विकास को प्रायोजित करने के लिए $100,000 का दान दिया। जनवरी 2014 में, इसने झटका पुरस्कार जीते कोडिंग टूल की श्रेणी में डॉ. डोब की ओर से। जुलाई 2015 में, परियोजना ने गॉर्डन और बेट्टी मूर फाउंडेशन, अल्फ्रेड पी। स्लोन फाउंडेशन और लियोना एम। और हैरी बी हेम्सले चैरिटेबल ट्रस्ट से $ 6 मिलियन का वित्त पोषण जीता। मई 2018 में, इसे 2017 एसीएम सॉफ्टवेयर सिस्टम अवार्ड से सम्मानित किया गया। यह पुरस्कार जीतने वाली सबसे बड़ी टीम है।

यह भी देखें

 * पायथन (प्रोग्रामिंग भाषा)
 * इलेक्ट्रॉनिक प्रयोगशाला नोटबुक
 * सेज मठ
 * प्रोजेक्ट ज्यूपिटर

बाहरी संबंध

 * Inline graphs
 * Project Jupyter
 * Project Jupyter