آيپايثون
المؤلف الأصلي | Fernando Perez[1] |
---|---|
المطوّر | Brian E. Granger, Min Ragan-Kelley, Paul Ivanov, Thomas Kluyver, Matthias Bussonnier |
الإطلاق المبدئي | 2001 |
الإصدار المستقر | 7.19.0
/ 31 أكتوبر 2020 |
المستودع | github |
مكتوب بلغة | Python, JavaScript, CSS, HTML |
نظام التشغيل | Cross-platform |
النوع | Shell |
الرخصة | BSD |
الموقع الإلكتروني | https://ipython.org،%20https://ipython.readthedocs.org |
آيپايثون IPython (پايثون تفاعلي) هي غلاف أوامر للحوسبة التفاعلية بلغات برمجة متعددة، تم تطويرها في الأصل من أجل لغة برمجة پايثون، والتي توفر فحص الخصائص و الوسائط الغنية وبناء جملة هيكلية و إكمال علامات التبويب والسجل. يوفر آيپايثون الميزات التالية:
- الغلافات الهيكلية التفاعلية (المحطات و القائمة على كيو تي).
- واجهة الحاسب المحمول المستندة إلى المستعرض مع دعم التعليمات البرمجية والنصوص والتعبيرات الرياضية والتخطيطات المضمنة والوسائط الأخرى.
- دعم التصور التفاعلي للبيانات واستخدام مجموعات أدوات واجهة المستخدم الرسومية.
- مترجمات فورية مرنة وقابلة للتضمين لتحميل المشاريع الخاصة.
- أدوات من أجل الحوسبة المتوازية.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
الحوسبة المتوازية
يعتمد آيپايثون على بنية توفر الحوسبة المتوازية والموزعة. يتيح آيپايثون تطوير التطبيقات المتوازية وتنفيذها وتصحيحها ومراقبتها بشكل تفاعلي، ومن هنا جاء I (تفاعلي) في آيپايثون .[3] تستخلص هذه البنية من التوازي، مما يمكّن آيپايثون من دعم العديد من أنماط التوازي المختلفة[4] بما في ذلك:
- برنامج واحد، توازي البيانات المتعددة (SPMD)
- برنامج متعدد، توازي البيانات المتعددة (MPMD)
- تمرير الرسالة باستخدام MPI
- توازي المهام
- توازي البيانات
- مجموعات من هذه الأساليب
- نهج مخصصة يحددها المستخدم
مع إصدار آيپايثون 4.0، أصبحت إمكانات الحوسبة المتوازية اختيارية وتم إصدارها ضمن حزمة پايثونipyparallel. ومعظم قابليات ipyparallel مغطاة حالياً بمكتبات مدروسة مثل داسك.
غالبًا ما يستمد آيپايثون من مكتبات SciPy stack[5]مثل NumPy و SciPy، غالباً ما يتم تثبيتها إلى جانب واحدة من العديد من توزيعات پايثون العلمية.[5]يوفر آيپايثون التكامل مع بعض مكتبات المكدس SciPy، ولا سيما matplotlib، وإنتاج الرسوم البيانية المضمنة عند استخدامها مع دفتر Jupyter. يمكن لمكتبات پايثون تنفيذ ماسكات آيپايثون المحددة لتخصيص عرض الكائنات الغنية. يقوم SymPy على سبيل المثال بتنفيذ عرض التعبيرات الرياضية كما تم تقديمها في LaTeX عند استخدامها ضمن سياق آيپايثون، ويقوم پاندا باستخدام إطار البيانات تمثيل HTML.[6]
ميزات أخرى
يسمح آيپايثون بالتفاعل غير المحظور مع Tkinter و PyGTK و PyQt / PySide و wxPython (تسمح طبقة پايثون الخارجية القياسية بالتفاعل مع Tkinter فقط). يمكن لـ آيپايثون أن يدير بشكل تفاعلي مجموعات الحوسبة المتوازية باستخدام عمليات رد نداء الحالة غير المتزامنة و / أو MPI. يمكن أيضاً استخدام آيپايثون كبديل لغلاف النظام.[7] يشبه سلوكه الافتراضي إلى حد كبير سلوك طبقة يونكس الهيكلية، ولكنه يسمح بالتخصيص والمرونة في تنفيذ التعليمات البرمجية في بيئة پايثون الحية. يعد استخدام آيپايثون كبديل أقل شيوعاً للغلاف ويوصى الآن باستخدام Xonsh التي توفر معظم ميزة آيپايثون مع تكامل أفضل للغلاف.
نهاية دعم پايثون 2
سلسلة آيپايثون 5.x (الدعم لفترة طويلة) هي الإصدار الأخير من آيپايثون لدعم پايثون 2. تعهد مشروع آيپايثون بعدم دعم پايثون2 بعد عام 2020[8] من خلال كونها واحدة من أولى المشاريع التي انضمت إلى Python 3 Statement، فإن سلسلة 6.x متوافقة فقط مع Python 3 وما فوق. لا يزال من الممكن تشغيل نواة آيپايثون ومخدم Jupyter Notebook على إصدارات پايثون المختلفة مما يسمح للمستخدمين بالوصول إلى پايثون 2 على إصدار أحدث من Jupyter.
مشروع جوپيتر
This section may rely excessively on sources too closely associated with the subject, potentially preventing the article from being verifiable and neutral. (October 2016) (Learn how and when to remove this template message) |
في عام 2014، أعلن فرناندو پيريز عن مشروع عرضي من آيپايثون يسمى مشروع جوپيتر.[9]واستمر وجود آيپايثون كقذيفة Python و kernel لـ Jupyter ، ولكن تم نقل واجهة دفتر الملاحظات والأجزاء الأخرى الحيادية للغة من IPython تحت اسم Jupyter.[10][11]جوپيتر هي لغة حيادية واسمها إشارة إلى لغات البرمجة الأساسية التي يدعمها جوپيتر، وهي جوليا و پايثون و R.[12]
الحاسب الشخصي جوپيتر (المعروف سابقاً باسم آيپايثون الحواسيب الشحصية) هو تفاعلي قائم على الوب لإنشاء حواسب جوپيتر الشخصية وتنفيذها وتصورها. فهو مشابه لواجهة الحواسب الشخصية لبرامج أخرى مثل ميپل و ماثماتيكا و سيگماث، وهو نمط واجهة حسابية نشأ مع ماثماتيكا في الثمانينيات.[13] وهو يدعم بيئات التنفيذ (ويعرف أيضاً باسم النواة) بعشرات اللغات. يتم شحن حاسب جوپيتر الشخصة افتراضياً مع نواة آيپايثون، ولكن هناك أكثر من 100 نواة جوپيتر اعتباراً من مايو 2018.
في وسائل الإعلام
تم ذكر آيپايثون في الصحافة الحاسوبية الشعبية ووسائل الإعلام الشعبية الأخرى،[14][13] ولها حضور في المؤتمرات العلمية.[15] بالنسبة للأعمال العلمية والهندسية، يتم تقديمها غالباً كأداة مصاحبة لـ matplotlib.[16]
المنح والجوائز
اعتباراً من 1 يناير 2013، أعلنت مؤسسة ألفرد پي. سلون أنها ستدعم تطوير آيپايثون لمدة عامين.[17]
في 23 آذار (مارس) 2013، حصل فرناندو پيريز على جائزة مؤسسة جائزةالبرمجيات الحرة المتقدمة لآيپايثون.
في أغسطس 2013، تبرعت مايكرو سوفت بمبلغ 100،000 دولار أمريكي لرعاية تطوير آيپايثون المستمر.[18]
في يناير 2014، فازت بـ جائزة جولت الإنتاجية[19] من مجلة دكتور دوب في فئة أدوات التشفير. في يوليو 2015، حصل المشروع على تمويل بقيمة 6 ملايين دولار من مؤسسة جوردون وبيتي مور، ومؤسسة ألفريد پي. سلون، وليونا إم. وصندوق هاري بي. هلمسلي الخيري.[20]
في مايو 2018، تم منحه جائزة نظام برمجيات ACM لعام 2017.[21] وهو أكبر فريق فاز بالجائزة.[22]
انظر أيضاً
الهامش
- ^ أ ب "The IPython notebook: a historical retrospective". Fernando Perez Blog. 8 يناير 2012.
- ^ "ipython release history". Python Package Index. Retrieved 5 نوفمبر 2020.
- ^ Helen, Shen (2014). "Interactive notebooks: Sharing the code". Nature. 515 (7525): 151–152. doi:10.1038/515151a. PMID 25373681.
- ^ "Using IPython for Parallel computing - IPython docs".
- ^ أ ب "SciPy Stack".
- ^ "Printing — SymPy 1.1 documentation". docs.sympy.org. Retrieved 11 أبريل 2018.
- ^ McKinney, Wes (2012). "Chapter 3". Python for Data Analysis. ISBN 978-1-449-31979-3.
- ^ "Release of IPython 5.0 – Jupyter Blog". Jupyter Blog. 8 يوليو 2016. Retrieved 11 أبريل 2018.
- ^ "Project Jupyter // Speaker Deck".
- ^ "The Notebook, Qt console and a number of other pieces are now parts of Jupyter".
- ^ "The Big Split™".
- ^ https://github.com/jupyter/design/wiki/Jupyter-Logo
- ^ أ ب Somers, James. "The Scientific Paper Is Obsolete". The Atlantic (in الإنجليزية الأمريكية). Retrieved 10 أبريل 2018.
- ^ Koziol, Conrad (12 سبتمبر 2005). "Introducing IPython". NewsForge.
- ^ "IPython Presentations".
- ^ Pérez, Fernando; Granger, Brian E. (2007). "IPython: A System for Interactive Scientific Computing" (PDF). Computing in Science & Engineering. 9 (3): 21–29. doi:10.1109/MCSE.2007.53. Archived from the original (PDF) on 2 يونيو 2010. Retrieved 30 يوليو 2015.
- ^ "Announcement in scipy mailing list".
- ^ "IPython Announcement".
- ^ "Jolt Productivity Award write-up in Dr. Dobb's".
- ^ "$6M for UC Berkeley and Cal Poly to expand and enhance open-source software for scientific computing and data science". Retrieved 13 أغسطس 2015.
- ^ "Recent Software System Award News".
- ^ "Jupyter receives the ACM Software System Award".
وصلات خارجية
- CS1 الإنجليزية الأمريكية-language sources (en-us)
- Short description is different from Wikidata
- Use dmy dates from August 2015
- Articles with hatnote templates targeting a nonexistent page
- Articles lacking reliable references from October 2016
- All articles lacking reliable references
- Command shells
- Computational notebook
- Free mathematics software
- Free software programmed in Python
- Python (programming language) development tools
- Software using the BSD license