stringtranslate.com

IPython

IPython (Interactive Python) — командная оболочка для интерактивных вычислений на нескольких языках программирования, изначально разработанная для языка программирования Python , которая предлагает интроспекцию , богатые медиа , синтаксис оболочки, автодополнение по табуляции и историю. IPython предоставляет следующие возможности:

IPython — это проект, спонсируемый NumFOCUS из финансовых средств. [3]

Параллельные вычисления

Архитектурный вид параллельной машины IPython

IPython основан на архитектуре, которая обеспечивает параллельные и распределенные вычисления. IPython позволяет разрабатывать, выполнять, отлаживать и контролировать параллельные приложения в интерактивном режиме, отсюда и I (Interactive) в IPython. [4] Эта архитектура абстрагирует параллелизм, позволяя IPython поддерживать множество различных стилей параллелизма [5], включая:

С выпуском IPython 4.0 возможности параллельных вычислений стали необязательными и были выпущены в составе пакета python ipyparallel. И большинство возможностей ipyparallel теперь покрываются более зрелыми библиотеками, такими как Dask .

IPython часто черпает из библиотек стека SciPy [6] , таких как NumPy и SciPy , часто устанавливаемых вместе с одним из многих дистрибутивов Scientific Python. [6] IPython обеспечивает интеграцию с некоторыми библиотеками стека SciPy , в частности matplotlib , создавая встроенные графики при использовании с блокнотом Jupyter . Библиотеки Python могут реализовывать специфичные для IPython хуки для настройки отображения расширенных объектов. Например, SymPy реализует рендеринг математических выражений в виде рендеринга LaTeX при использовании в контексте IPython, а Pandas dataframe использует представление HTML. [7]

Другие особенности

IPython допускает неблокируемое взаимодействие с Tkinter , PyGTK , PyQt / PySide и wxPython (стандартная оболочка Python допускает взаимодействие только с Tkinter). IPython может интерактивно управлять параллельными вычислительными кластерами с помощью асинхронных обратных вызовов состояния и/или MPI . IPython также может использоваться в качестве замены системной оболочки. [8] Его поведение по умолчанию во многом похоже на оболочки Unix , но оно допускает настройку и гибкость выполнения кода в реальной среде Python.

Окончание поддержки Python 2

Серия IPython 5.x (Long Time Support) — последняя версия IPython, поддерживающая Python 2. Проект IPython пообещал не поддерживать Python 2 после 2020 года [9], став одним из первых проектов, присоединившихся к заявлению Python 3; серия 6.x совместима только с Python 3 и выше. Тем не менее, по-прежнему возможно запускать ядро ​​IPython и сервер Jupyter Notebook на разных версиях Python, что позволяет пользователям по-прежнему получать доступ к Python 2 на более новой версии Jupyter.

Проект Юпитер

Старый интерфейс IPython Notebook

В 2014 году создатель IPython Фернандо Перес объявил о создании ответвления от IPython под названием Project Jupyter . [10] IPython продолжил свое существование как оболочка Python и ядро ​​для Jupyter, но интерфейс блокнота и другие независимые от языка части IPython были перемещены под имя Jupyter. [11] [12] Jupyter не зависит от языка, и его название является ссылкой на основные языки программирования, поддерживаемые Jupyter, а именно Julia , Python и R. [13 ]

Jupyter Notebook (ранее IPython Notebook) — это интерактивная вычислительная среда на основе веб-технологий для создания, выполнения и визуализации блокнотов Jupyter. Он похож на интерфейс блокнотов других программ, таких как Maple , Mathematica и SageMath , стиль вычислительного интерфейса, который возник вместе с Mathematica в 1980-х годах. [14] Он поддерживает среды выполнения (т. е. ядра) на десятках языков. По умолчанию Jupyter Notebook поставляется с ядром IPython, но по состоянию на май 2018 года существует более 100 ядер Jupyter.

В СМИ

IPython упоминается в популярной компьютерной прессе и других популярных средствах массовой информации, [15] [14] и присутствует на научных конференциях. [16] Для научных и инженерных работ его часто представляют как сопутствующий инструмент для matplotlib . [17]

Гранты и награды

Начиная с 1 января 2013 года Фонд Альфреда П. Слоуна объявил, что будет поддерживать разработку IPython в течение двух лет. [18]

23 марта 2013 года Фернандо Перес был удостоен награды Free Software Foundation Advancement of Free Software за IPython.

В августе 2013 года Microsoft сделала пожертвование в размере 100 000 долларов США на финансирование дальнейшей разработки IPython. [19]

В январе 2014 года он выиграл премию Jolt Productivity Award [20] от Dr. Dobb's в категории инструментов кодирования. В июле 2015 года проект выиграл финансирование в размере 6 миллионов долларов от Gordon and Betty Moore Foundation, Alfred P. Sloan Foundation и Leona M. and Harry B. Helmsley Charitable Trust. [21]

В мае 2018 года она была удостоена награды ACM Software System Award 2017. [22] Это самая большая команда, которая выиграла эту награду. [23]

Смотрите также

Ссылки

  1. ^ ab "The IPython notebook: a historic retrospective". Блог Фернандо Переса. 8 января 2012 г.
  2. ^ "ipython 8.26.0".
  3. ^ "Проекты, спонсируемые NumFOCUS". NumFOCUS . Получено 25 октября 2021 г. .
  4. ^ Хелен, Шен (2014). «Интерактивные блокноты: обмен кодом». Nature . 515 (7525): 151–152. Bibcode :2014Natur.515..151S. doi : 10.1038/515151a . PMID  25373681.
  5. ^ «Использование IPython для параллельных вычислений — документация IPython».
  6. ^ ab "Стек SciPy".
  7. ^ "Печать — документация SymPy 1.1". docs.sympy.org . Получено 11 апреля 2018 г. .
  8. ^ МакКинни, Уэс (2012). "Глава 3". Python для анализа данных . ISBN 978-1-449-31979-3.
  9. ^ "Выпуск IPython 5.0 – Jupyter Blog". Jupyter Blog . 8 июля 2016 г. Получено 11 апреля 2018 г.
  10. ^ "Проект Jupyter // Презентация".
  11. ^ «Блокнот, консоль Qt и ряд других элементов теперь являются частями Jupyter». GitHub . 17 октября 2021 г.
  12. ^ "The Big Split™". 28 августа 2017 г.
  13. ^ "Логотип Jupyter · Jupyter/Design Wiki" . Гитхаб .
  14. ^ ab Somers, James. «The Scientific Paper Is Obsolete». The Atlantic . Получено 10 апреля 2018 г.
  15. ^ Koziol, Conrad (12 сентября 2005 г.). «Введение в IPython». NewsForge. Архивировано из оригинала 7 июня 2012 г. Получено 14 июня 2012 г.
  16. ^ "Презентации IPython".
  17. ^ Pérez, Fernando; Granger, Brian E. (2007). "IPython: система для интерактивных научных вычислений" (PDF) . Computing in Science & Engineering . 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 Productivity Award в журнале Dr. Dobb's».
  21. ^ "6 миллионов долларов для Калифорнийского университета в Беркли и Калифорнийского политехнического университета на расширение и улучшение программного обеспечения с открытым исходным кодом для научных вычислений и науки о данных" . Получено 13 августа 2015 г.
  22. ^ "Последние новости о премии Software System Award".
  23. ^ «Jupyter получает награду ACM Software System Award».

Внешние ссылки