IPython

IPython (بايثون التفاعلية) هي واجهة سطر أوامر للحوسبة التفاعلية بلغات برمجة متعددة، طُوّرت في الأصل للغة البرمجة بايثون ، وتوفر ميزات مثل الاستكشاف الذاتي ، والوسائط المتعددة ، وبنية سطر الأوامر، والإكمال التلقائي ، وسجل الأوامر. توفر IPython الميزات التالية:

  • الأغلفة التفاعلية (الطرفية والقائمة على Qt ).
  • واجهة دفتر ملاحظات قائمة على المتصفح تدعم التعليمات البرمجية والنصوص والتعبيرات الرياضية والرسوم البيانية المضمنة وغيرها من الوسائط.
  • دعم عرض البيانات التفاعلي واستخدام أدوات واجهة المستخدم الرسومية.
  • مترجمات مرنة وقابلة للتضمين لتحميلها في مشاريعك الخاصة.
  • أدوات الحوسبة المتوازية .

يُعدّ IPython مشروعًا ممولًا ماليًا من NumFOCUS . [ 3 ]

الحوسبة المتوازية

منظر معماري لآلية التوازي في IPython

تعتمد لغة IPython على بنية توفر الحوسبة المتوازية والموزعة. تُمكّن IPython من تطوير التطبيقات المتوازية وتنفيذها وتصحيح أخطائها ومراقبتها بشكل تفاعلي، ومن هنا جاءت تسمية I (التفاعلي) في IPython . [ 4 ] تُجرّد هذه البنية مفهوم التوازي، مما يُمكّن IPython من دعم أنماط مختلفة من التوازي [ 5 بما في ذلك:

مع إصدار IPython 4.0، أصبحت إمكانيات الحوسبة المتوازية اختيارية، وتم إصدارها ضمن حزمة ipyparallel في بايثون. وتُغطى معظم إمكانيات ipyparallel الآن بمكتبات أكثر تطوراً مثل Dask .

يعتمد IPython بشكل متكرر على مكتبات SciPy [ 6 ] مثل NumPy و SciPy ، والتي غالبًا ما تُثبّت مع إحدى توزيعات بايثون العلمية العديدة. [ 6 ] يوفر IPython التكامل مع بعض مكتبات SciPy ، ولا سيما matplotlib ، مما يُنتج رسومًا بيانية مضمنة عند استخدامها مع دفتر Jupyter . يمكن لمكتبات بايثون تنفيذ وظائف خاصة بـ IPython لتخصيص عرض الكائنات. على سبيل المثال، تُنفّذ SymPy عرض التعبيرات الرياضية كـ LaTeX عند استخدامها ضمن سياق IPython، بينما يستخدم إطار بيانات Pandas تمثيل HTML. [ 7 ]

ميزات أخرى

تتيح IPython التفاعل غير المتزامن مع Tkinter و PyGTK و PyQt / PySide و wxPython (بينما لا تسمح واجهة Python القياسية إلا بالتفاعل مع Tkinter). ويمكن لـ IPython إدارة مجموعات الحوسبة المتوازية بشكل تفاعلي باستخدام ردود استدعاء الحالة غير المتزامنة و/أو MPI . كما يمكن استخدام IPython كبديل لواجهة النظام. [ 8 ] ويتشابه سلوكها الافتراضي إلى حد كبير مع واجهات Unix ، لكنها تتيح التخصيص ومرونة تنفيذ التعليمات البرمجية في بيئة Python مباشرة.

نهاية دعم بايثون 2

سلسلة IPython 5.x (الدعم طويل الأمد) هي آخر إصدارات IPython التي تدعم Python 2. وقد تعهد مشروع IPython بعدم دعم Python 2 بعد عام 2020 [ 9 وذلك لكونه من أوائل المشاريع التي انضمت إلى بيان Python 3. لذا ، فإن سلسلة 6.x متوافقة فقط مع Python 3 والإصدارات الأحدث. ومع ذلك، لا يزال من الممكن تشغيل نواة IPython وخادم Jupyter Notebook على إصدارات مختلفة من Python، مما يتيح للمستخدمين الوصول إلى Python 2 على الإصدارات الأحدث من Jupyter.

مشروع جوبيتر

واجهة دفتر ملاحظات IPython القديمة

في عام ٢٠١٤، أعلن فرناندو بيريز، مبتكر IPython، عن مشروع فرعي من IPython يُدعى مشروع Jupyter . [ ١٠ ] استمر IPython في العمل كواجهة برمجة تطبيقات Python ونواة لـ Jupyter، ولكن تم نقل واجهة دفتر الملاحظات وأجزاء أخرى مستقلة عن لغة البرمجة من IPython إلى Jupyter. [ ١١ ] [ ١٢ ] Jupyter مستقل عن لغة البرمجة، واسمه إشارة إلى لغات البرمجة الأساسية التي يدعمها ، وهي Julia و Python و R. [ ١٣ ]

Jupyter Notebook (المعروف سابقًا باسم IPython Notebook) هو بيئة حسابية تفاعلية عبر الإنترنت لإنشاء دفاتر Jupyter وتنفيذها وعرضها. وهو مشابه لواجهة دفاتر البرامج الأخرى مثل Maple و Mathematica و SageMath ، وهو نمط واجهة حسابية نشأ مع Mathematica في ثمانينيات القرن الماضي. [ 14 ] يدعم Jupyter Notebook بيئات التنفيذ ( المعروفة أيضًا باسم النوى) في عشرات اللغات. يأتي Jupyter Notebook افتراضيًا مزودًا بنواة IPython، ولكن يوجد أكثر من 100 نواة Jupyter اعتبارًا من مايو 2018.

في وسائل الإعلام

ذُكرت لغة IPython في الصحافة المتخصصة في الحوسبة ووسائل الإعلام الأخرى، [ 15 ] [ 14 ] ولها حضور في المؤتمرات العلمية. [ 16 ] وفي الأعمال العلمية والهندسية، تُقدّم غالبًا كأداة مساعدة لمكتبة matplotlib . [ 17 ]

المنح والجوائز

أعلنت مؤسسة ألفريد ب. سلون، ابتداءً من 1 يناير 2013، أنها ستدعم تطوير IPython لمدة عامين. [ 18 ]

في 23 مارس 2013، حصل فرناندو بيريز على جائزة مؤسسة البرمجيات الحرة للنهوض بالبرمجيات الحرة عن IPython.

في أغسطس 2013، قدمت مايكروسوفت تبرعاً بقيمة 100 ألف دولار لرعاية التطوير المستمر لـ IPython. [ 19 ]

في يناير 2014، فاز المشروع بجائزة Jolt للإنتاجية [ 20 ] من مجلة Dr. Dobb's في فئة أدوات البرمجة. وفي يوليو 2015، حصل المشروع على تمويل قدره 6 ملايين دولار من مؤسسة غوردون وبيتي مور، ومؤسسة ألفريد ب. سلون، وصندوق ليونا م. وهاري ب. هيلمسلي الخيري. [ 21 ]

في مايو 2018، حاز الفريق على جائزة نظام البرمجيات لعام 2017 من جمعية آلات الحوسبة (ACM). [ 22 ] وهو أكبر فريق يفوز بهذه الجائزة. [ 23 ]

انظر أيضاً

مراجع

  1. 1 2 "دفتر IPython: نظرة تاريخية استعادية" . مدونة فرناندو بيريز. 8 يناير 2012.
  2. "9.15.0" . 26 يونيو 2026. تم الاطلاع عليه في 26 يونيو 2026 .
  3. "المشاريع المدعومة من NumFOCUS" . NumFOCUS . تم الاطلاع عليه بتاريخ 25 أكتوبر 2021 .
  4. هيلين، شين (2014). "الدفاتر التفاعلية: مشاركة الشفرة" . مجلة نيتشر . 515 (7525): 151-152 . Bibcode : 2014Natur.515..151S . doi : 10.1038/515151a . PMID 25373681 . 
  5. "استخدام IPython للحوسبة المتوازية - وثائق IPython" .
  6. 1 2 "SciPy Stack" .
  7. "الطباعة - وثائق SymPy 1.1" . docs.sympy.org . تم الاطلاع عليه بتاريخ 11 أبريل 2018 .
  8. ماكيني، ويس (2012). "الفصل 3" . بايثون لتحليل البيانات . ISBN 978-1-449-31979-3.
  9. "إصدار IPython 5.0 - مدونة Jupyter" . مدونة Jupyter . 8 يوليو 2016. تم الاطلاع عليه بتاريخ 11 أبريل 2018 .
  10. "مشروع جوبيتر // منصة المتحدث" .
  11. "أصبحت كل من دفتر الملاحظات، ووحدة تحكم Qt، وعدد من المكونات الأخرى جزءًا من Jupyter" . GitHub . 17 أكتوبر 2021.
  12. "الانقسام الكبير™" . 28 أغسطس 2017.
  13. ^ "شعار Jupyter · jupyter/Design Wiki" . جيثب .
  14. 1 2 سومرز، جيمس. "الورقة العلمية عفا عليها الزمن" . مجلة ذا أتلانتيك . تم الاطلاع عليه بتاريخ 10 أبريل 2018 .
  15. كوزيول، كونراد (12 سبتمبر 2005). "مقدمة إلى IPython" . نيوزفورج. مؤرشف من الأصل في 7 يونيو 2012. تم الاطلاع عليه في 14 يونيو 2012 .
  16. "عروض تقديمية باستخدام IPython" .
  17. بيريز، فرناندو؛ غرانجر، برايان إي. (2007). "IPython: نظام للحوسبة العلمية التفاعلية" (ملف PDF) . الحوسبة في العلوم والهندسة . 9 (3): 21-29 . Bibcode : 2007CSE.....9c..21P . doi : 10.1109/MCSE.2007.53 . S2CID 16637923. مؤرشف من الأصل (ملف PDF) في 2 يونيو 2010. تم الاطلاع عليه في 30 يوليو 2015 . 
  18. "إعلان في القائمة البريدية لـ scipy" . مؤرشف من الأصل في 5 مارس 2016. تم الاطلاع عليه في 12 ديسمبر 2012 .
  19. "إعلان IPython" .
  20. "مقال عن جائزة الإنتاجية Jolt في مجلة Dr. Dobb's" .
  21. "6 ملايين دولار لجامعة كاليفورنيا في بيركلي وجامعة كال بولي لتوسيع وتحسين البرمجيات مفتوحة المصدر للحوسبة العلمية وعلوم البيانات" . تم الاطلاع عليه بتاريخ 13 أغسطس 2015 .
  22. "أخبار جوائز أنظمة البرمجيات الحديثة" .
  23. "Jupyter يحصل على جائزة ACM لأنظمة البرمجيات" .