آي‌پايثون

(تم التحويل من IPython)
آي‌پايثون
IPython Logo.png
Screenshot of IPython 6.x on Mac OS, showing the computation of a fourrier transform using numpy.
IPython Shell
المؤلف الأصليFernando Perez[1]
المطوّرBrian E. Granger, Min Ragan-Kelley, Paul Ivanov, Thomas Kluyver, Matthias Bussonnier
الإطلاق المبدئي2001; 23 years ago (2001[1]
الإصدار المستقر
7.19.0 / 31 أكتوبر 2020; منذ 4 سنين (2020-10-31[2]
المستودعgithub.com/ipython/ipython
مكتوب بلغة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.

مشروع جوپيتر

واجهة آي‌پايثون قديمة لحاسب شخصي

في عام 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]

انظر أيضاً

الهامش

  1. ^ أ ب "The IPython notebook: a historical retrospective". Fernando Perez Blog. 8 يناير 2012.
  2. ^ "ipython release history". Python Package Index. Retrieved 5 نوفمبر 2020.
  3. ^ Helen, Shen (2014). "Interactive notebooks: Sharing the code". Nature. 515 (7525): 151–152. doi:10.1038/515151a. PMID 25373681.
  4. ^ "Using IPython for Parallel computing - IPython docs".
  5. ^ أ ب "SciPy Stack".
  6. ^ "Printing — SymPy 1.1 documentation". docs.sympy.org. Retrieved 11 أبريل 2018.
  7. ^ McKinney, Wes (2012). "Chapter 3". Python for Data Analysis. ISBN 978-1-449-31979-3.
  8. ^ "Release of IPython 5.0 – Jupyter Blog". Jupyter Blog. 8 يوليو 2016. Retrieved 11 أبريل 2018.
  9. ^ "Project Jupyter // Speaker Deck".
  10. ^ "The Notebook, Qt console and a number of other pieces are now parts of Jupyter".
  11. ^ "The Big Split™".
  12. ^ https://github.com/jupyter/design/wiki/Jupyter-Logo
  13. ^ أ ب Somers, James. "The Scientific Paper Is Obsolete". The Atlantic (in الإنجليزية الأمريكية). Retrieved 10 أبريل 2018.
  14. ^ Koziol, Conrad (12 سبتمبر 2005). "Introducing IPython". NewsForge.
  15. ^ "IPython Presentations".
  16. ^ 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.
  17. ^ "Announcement in scipy mailing list".
  18. ^ "IPython Announcement".
  19. ^ "Jolt Productivity Award write-up in Dr. Dobb's".
  20. ^ "$6M for UC Berkeley and Cal Poly to expand and enhance open-source software for scientific computing and data science". Retrieved 13 أغسطس 2015.
  21. ^ "Recent Software System Award News".
  22. ^ "Jupyter receives the ACM Software System Award".

وصلات خارجية

الكلمات الدالة: