Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Проект Jupyter ( / ˙U р ɪ т ər / ( слушать )Об этом звуке ) это проект и сообщество, целью которого является «разработка с открытым исходным кодом программного обеспечения , открытых стандартов и услуг для интерактивных вычислений в десятках языков программирования». [2] Он был выделен из IPython в 2014 году Фернандо Пересом . Название проекта Jupyter - это ссылка на три основных языка программирования, поддерживаемых Jupyter, а именно Julia , Python и R , а также дань уважения кЗаписные книжки Галилея , записывающие открытие спутников Юпитера . Project Jupyter разработал и поддержал интерактивные вычислительные продукты Jupyter Notebook, JupyterHub и JupyterLab.

История [ править ]

Рукопись Галилео Галилея 1610 года с наблюдениями Юпитера (⊛) и четырех его спутников (✱), изображение которых помогло создать логотип Jupyter.

В 2014 году Фернандо Перес объявил о дополнительном проекте IPython под названием Project Jupyter. [3] IPython продолжает существовать как оболочка Python и ядро ​​для Jupyter, в то время как блокнот и другие не зависящие от языка части IPython перемещаются под именем Jupyter. [4] [5] Jupyter не зависит от языка и поддерживает среды выполнения (также известные как ядра) на нескольких десятках языков, среди которых Julia , R , Haskell , Ruby и, конечно, Python (через ядро ​​IPython). [6]

В 2015 году GitHub и Jupyter Project объявили о нативном рендеринге файлов формата записных книжек Jupyter (файлов .ipynb) на платформе GitHub. [7] [8]

Философия [ править ]

Философия работы Project Jupyter заключается в поддержке интерактивного анализа данных и научных вычислений на всех языках программирования посредством разработки программного обеспечения с открытым исходным кодом . Согласно веб-сайту Project Jupyter, «Jupyter всегда будет на 100% программным обеспечением с открытым исходным кодом, бесплатным для всех и выпущенным в соответствии с либеральными условиями модифицированной лицензии BSD». [1]

Продукты [ править ]

Блокнот Jupyter [ править ]

Jupyter Notebook (ранее IPython Notebooks) - это интерактивная вычислительная среда на базе Интернета для создания документов Jupyter notebook. Термин «записная книжка» может в разговорной речи относиться ко многим различным объектам, в основном к веб-приложению Jupyter, веб-серверу Jupyter Python или формату документа Jupyter в зависимости от контекста. Документ Jupyter Notebook - это документ JSON , соответствующий схеме с контролем версий, содержащий упорядоченный список ячеек ввода / вывода, который может содержать код, текст (с использованием Markdown ), математику, графики и мультимедийные данные, обычно заканчивающиеся расширением «.ipynb». .

Блокнот Jupyter можно преобразовать в несколько открытых стандартных форматов вывода ( HTML , слайды презентации , LaTeX , PDF , ReStructuredText , Markdown , Python ) с помощью функции «Загрузить как» в веб-интерфейсе через библиотеку nbconvert [9] или «jupyter». nbconvert "интерфейс командной строки в оболочке. Чтобы упростить визуализацию документов записной книжки Jupyter в Интернете, библиотека nbconvert предоставляется в виде службы через NbViewer [10], который может принимать URL-адрес любого общедоступного документа записной книжки, на лету конвертировать его в HTML и отображать его пользователю.

Интерфейс Jupyter Notebook

Jupyter Notebook предоставляет REPL на основе браузера, основанный на ряде популярных библиотек с открытым исходным кодом:

  • IPython
  • ØMQ
  • Торнадо (веб-сервер)
  • jQuery
  • Bootstrap (интерфейсный фреймворк)
  • MathJax

Jupyter Notebook может подключаться ко многим ядрам, что позволяет программировать на разных языках. По умолчанию Jupyter Notebook поставляется с ядром IPython. Начиная с версии 2.3 [11] [12] (октябрь 2014 г.), в настоящее время существует 49 Jupyter-совместимых ядер для многих языков программирования, включая Python , R , Julia и Haskell . [13]

Интерфейс Notebook был добавлен в IPython в версии 0.12 [14] (декабрь 2011 г.), переименован в Jupyter notebook в 2015 г. (IPython 4.0 - Jupyter 1.0). Jupyter Notebook похож на интерфейс записной книжки других программ, таких как Maple , Mathematica и SageMath , стиль вычислительного интерфейса, возникший в системе Mathematica в 1980-х годах. [15] По данным The Atlantic , в начале 2018 года интерес к Jupyter превысил популярность интерфейса ноутбука Mathematica. [15]

Ядра Jupyter [ править ]

Ядро Jupyter - это программа, отвечающая за обработку различных типов запросов (выполнение кода, завершение кода, проверка) и предоставление ответа. Ядра говорить с другими компонентами Jupyter с помощью ZeroMQ , и , таким образом , могут быть на один и те же или удаленные машины. В отличие от многих других интерфейсов, подобных Notebook, в Jupyter ядра не знают, что они прикреплены к определенному документу, и могут быть подключены сразу ко многим клиентам. Обычно ядра позволяют выполнять только один язык, но есть несколько исключений. [ необходима цитата ]

JupyterHub [ править ]

JupyterHub [16] - это многопользовательский сервер для Jupyter Notebooks. Он разработан для поддержки многих пользователей путем создания, управления и проксирования множества отдельных серверов Jupyter Notebook. [ необходима цитата ] В то время как JupyterHub требует управления серверами, сторонние сервисы, такие как Jupyo [17], предоставляют альтернативу JupyterHub, размещая и управляя многопользовательскими записными книжками Jupyter в облаке.

JupyterLab [ править ]

JupyterLab - это новый пользовательский интерфейс для Project Jupyter. Он предлагает стандартные блоки классического Jupyter Notebook (блокнот, терминал, текстовый редактор, файловый браузер, расширенные возможности вывода и т. Д.) В гибком пользовательском интерфейсе. О первом стабильном выпуске было объявлено 20 февраля 2018 г. [18]

Юпитер {Книга} [ править ]

Jupyter Book - это проект с открытым исходным кодом для создания книг и документов из вычислительного материала. [19] Он позволяет пользователю создавать контент в смеси Markdown , расширенной версии Markdown под названием MyST, [20] Maths & Equations с использованием MathJax , Jupyter Notebooks, reStructuredText , результатов выполнения Jupyter Notebooks во время сборки. Может быть создано несколько выходных форматов (в настоящее время отдельные файлы, многостраничные веб-страницы HTML и файлы PDF ).

nbgrader [ править ]

nbgrader - это инструмент для создания и оценки (маркировки) заданий в записных книжках Jupyter. [21] Это позволяет инструктору создавать задания, которые включают упражнения по кодированию на Python или любом другом поддерживаемом ядре и текстовые ответы. Отправленные задания могут быть автоматически отмечены, выставлены вручную или их сочетание.

Принятие в промышленности [ править ]

Jupyter Notebook стал популярным пользовательским интерфейсом для облачных вычислений , и основные поставщики облачных услуг приняли Jupyter Notebook или производные инструменты в качестве внешнего интерфейса для пользователей облака. Примеры включают SageMaker Notebooks от Amazon , [22] Google Colaboratory [23] и Microsoft Azure Notebook. [24]

Сотрудничество [ править ]

Colaboratory (также известный как Colab ) - это бесплатная среда для ноутбуков Jupyter, которая работает в облаке и хранит свои записные книжки на Google Диске . Colab изначально был внутренним проектом Google; была предпринята попытка [25] открыть исходный код всего кода и работать напрямую с ним, что привело к разработке расширения Google Chrome «Open in Colab» [26], но это в конечном итоге закончилось, и разработка Colab продолжилась внутри компании. По состоянию на октябрь 2019 года пользовательский интерфейс Colaboratory позволяет создавать записные книжки только с ядрами Python 2 и Python 3; однако, если у вас есть существующий ноутбук, спецификация ядра которого - IR или Swift, это будет работать, поскольку оба Rи Swift устанавливаются в контейнер. Язык Julia также может работать на Colab (например, с Python и графическими процессорами; блоки тензорной обработки Google также работают с Julia на Colab [27] ). [28] [29]

Освещение в СМИ [ править ]

  • 11 февраля 2016 года коллаборация LIGO объявила о первом наблюдении гравитационных волн . Сотрудничество выпустило необработанные научные данные вместе с Jupyter Notebooks, содержащими код Python для обработки данных и воспроизведения цифр из статьи об открытии. [30]
  • 5 апреля 2018 года The Atlantic опубликовала статью под названием The Scientific Paper Is Obsolete , в которой обсуждалась роль Jupyter Notebook и Mathematica Notebook в будущем научных публикаций. [15] Эта статья вызвала отклики видных ученых и академиков, в том числе экономиста Пола Ромера . [31]

Гранты и награды [ править ]

  • В 2012 году Фернандо Перес получил премию Фонда свободного программного обеспечения за продвижение свободного программного обеспечения за свою работу над IPython , предшественником проекта Jupyter.
  • В 2013 году команда IPython получила грант в размере 1,15 миллиона долларов от Фонда Альфреда П. Слоана [32] [33], который профинансировал ранние работы, приведшие к созданию проекта Jupyter. [34]
  • В 2015 году проект был награжден Jupyter совместный грант на $ 6 млн от The Леоны М. и Гарри Б. Хелмсли Благотворительный фонд , Гордон и Бетти Мур Фонд и Альфреда П. Слоуна , который финансировал работу , которая привела к расширенным возможностям основные инструменты Jupyter, а также создание JupyterLab. [35]
  • 2 мая 2018 года руководящий комитет Project Jupyter был награжден премией ACM Software System Award 2017 , ежегодной наградой, присуждаемой людям или организациям «за разработку системы программного обеспечения, которая оказала долгосрочное влияние, отраженное в вкладе в концепции, в коммерческое принятие или и то, и другое ". [36]

См. Также [ править ]

  • GNU Octave
  • IPython
  • RStudio
  • SageMath
  • Scilab
  • Spyder
  • Wolfram Mathematica
  • Binder Project и BinderHub
  • Список пакетов бесплатного и открытого программного обеспечения
  • Интерфейс ноутбука

Ссылки [ править ]

  1. ^ a b «Проект Jupyter - О нас» . 2018-04-20 . Проверено 3 мая 2018 .
  2. ^ "Проект Jupyter" . www.jupyter.org . Проверено 13 ноября 2020 .
  3. ^ "Проект Jupyter // Колонка динамика" .
  4. ^ «Блокнот, консоль Qt и ряд других частей теперь являются частью Jupyter» .
  5. ^ "Большой раскол ™" .
  6. ^ "Проект Jupyter | Главная" .
  7. ^ Сшироков (07.05.2015). «GitHub + Jupyter Notebooks = <3» . Блог GitHub . Проверено 10 апреля 2018 .
  8. ^ «Рендеринг блокнотов на GitHub - блог Jupyter» . Блог Jupyter . 2015-05-07 . Проверено 10 апреля 2018 .
  9. ^ «nbconvert: конвертировать записные книжки в другие форматы - документация nbconvert 6.0.8.dev0» . nbconvert.readthedocs.io . Проверено 13 ноября 2020 .
  10. ^ "nbviewer" . nbviewer.jupyter.org . Проверено 13 ноября 2020 .
  11. ^ «Что нового в IPython> Проблемы, закрытые в цикле разработки 2.x» .
  12. ^ «Что нового в IPython> 2.0 Series» .
  13. ^ "Ядра Jupyter> Список (некоторых) ядер, совместимых с IPython" .
  14. ^ "Объявление ноутбука - примечание к выпуску 0.12" .
  15. ^ a b c Сомерс, Джеймс. «Научная статья устарела» . Атлантика . Проверено 10 апреля 2018 .
  16. ^ https://jupyter.org/hub
  17. ^ "Jupyo | Блокноты Jupyter для Python, R, Julia в облаке" . jupyo.com . Архивировано из оригинала на 2019-01-03 . Проверено 2 января 2019 .
  18. ^ «JupyterLab готов для пользователей - блог Jupyter» . Блог Jupyter . 2018-02-20 . Проверено 4 мая 2018 .
  19. ^ "Книги с Юпитером" . jupyterbook.org . Проверено 13 ноября 2020 .
  20. ^ "Руководство по синтаксису MyST" . myst-parser.readthedocs.io . Проверено 13 ноября 2020 .
  21. ^ "nbgrader - документация по nbgrader 0.6.1" . nbgrader.readthedocs.io . Проверено 13 ноября 2020 .
  22. ^ «Amazon SageMaker на AWS» . Amazon Web Services, Inc . Проверено 9 мая 2018 .
  23. ^ «Добро пожаловать в Colaboratory» . research.google.com . Проверено 9 мая 2018 .
  24. ^ «Блокноты Microsoft Azure - Блокноты Jupyter онлайн» . notebooks.azure.com . Проверено 9 мая 2018 .
  25. ^ «Ботаны радуются: Google только что выпустил свой внутренний инструмент для совместной работы над ИИ» . Кварц . Проверено 6 сентября 2018 .
  26. ^ "Открыть в репозитории Colab GitHub" . GitHub . Проверено 6 сентября 2018 .
  27. ^ Julia на TPU, JuliaTPU , 03.12.2019 , получено 03.12.2019
  28. ^ "Google Colaboratory" . colab.research.google.com . Проверено 6 декабря 2019 .
  29. ^ "gpu - Юля в Google Colab" . Переполнение стека . Проверено 6 декабря 2019 .
  30. ^ "Открытый научный центр LIGO" . losc.ligo.org . Проверено 4 мая 2018 .
  31. ^ «Jupyter, Mathematica и будущее исследовательской работы - Пол Ромер» . paulromer.net . Проверено 15 апреля 2018 .
  32. ^ "Грант Фонда Слоуна - IPython" . ipython.org . Проверено 3 мая 2018 .
  33. ^ «Платформа с открытым исходным кодом для интерактивных, совместных и воспроизводимых научных вычислений и образования. Инструменты с открытым исходным кодом для интерактивных, совместных и воспроизводимых вычислений» . ipython.org . Проверено 3 мая 2018 .
  34. Перес, Фернандо (28 декабря 2015 г.). «Итоговый отчет IPython 2015 - Фонд Слоуна» (PDF) . ipython.org . Проверено 3 мая 2018 года .
  35. ^ "Калифорнийский университет в Беркли и Калифорнийский политехнический университет расширяют и улучшают программное обеспечение с открытым исходным кодом для научных вычислений и обработки данных | Благотворительный фонд Хелмсли" . helmsleytrust.org . Проверено 3 мая 2018 .
  36. ^ "Премия системы программного обеспечения" . ACM Awards . Ассоциация вычислительной техники . Проверено 28 апреля 2016 года .

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Ядра Jupyter