Проект Jupyter ( / dʒ ˙U р ɪ т ər / ( слушать ) ) это проект и сообщество, целью которого является «разработка с открытым исходным кодом программного обеспечения , открытых стандартов и услуг для интерактивных вычислений через десятки языков программирования». [2] Он был выделен из IPython в 2014 году Фернандо Пересом . Название Project Jupyter - это ссылка на три основных языка программирования, поддерживаемых Jupyter, а именно: Ju lia , Pyt hon и R., А также дань уважения к Galileo ноутбуками «s записи открытие спутников Юпитера . Project Jupyter разработал и поддержал интерактивные вычислительные продукты Jupyter Notebook , JupyterHub и JupyterLab .
Сокращение | Юпитер |
---|---|
Формирование | Февраль 2015 г . |
Тип | некоммерческая организация |
Цель | Для поддержки интерактивного анализа данных и научных вычислений на всех языках программирования. [1] |
Обслуживаемый регион | по всему миру |
Официальный язык | английский |
Веб-сайт | 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. Термин «записная книжка» может в разговорной речи относиться ко многим различным объектам, в основном к веб-приложению Jupyter, веб-серверу Jupyter Python или формату документа Jupyter в зависимости от контекста. Документ Jupyter Notebook - это документ JSON , соответствующий схеме с поддержкой версий, содержащий упорядоченный список ячеек ввода / вывода, который может содержать код, текст (с использованием Markdown ), математику, графики и мультимедийные данные , обычно заканчивающиеся расширением «.ipynb». .
Блокнот Jupyter можно преобразовать в несколько открытых стандартных форматов вывода ( HTML , слайды презентации , LaTeX , PDF , ReStructuredText , Markdown , Python) с помощью функции «Загрузить как» в веб-интерфейсе через библиотеку nbconvert [9] или «jupyter». nbconvert "интерфейс командной строки в оболочке. Чтобы упростить визуализацию документов записной книжки Jupyter в Интернете, библиотека nbconvert [10] предоставляется в виде службы через NbViewer [11], которая может принимать URL-адрес любого общедоступного документа записной книжки, на лету конвертировать его в HTML и отображать в Пользователь.
Jupyter Notebook предоставляет REPL на основе браузера, основанный на ряде популярных библиотек с открытым исходным кодом:
- IPython
- ØMQ ( ZeroMQ )
- Торнадо (веб-сервер)
- jQuery
- Bootstrap (интерфейсный фреймворк)
- MathJax
Jupyter Notebook может подключаться ко многим ядрам, что позволяет программировать на разных языках. По умолчанию Jupyter Notebook поставляется с ядром IPython. В версии 2.3 [12] [13] (октябрь 2014 г.) было 49 Jupyter-совместимых ядер для многих языков программирования, включая Python, R, Julia и Haskell. [14]
Интерфейс ноутбука был добавлен в IPython в версии 0.12 [15] (декабрь 2011 г.), переименован в Jupyter notebook в 2015 г. (IPython 4.0 - Jupyter 1.0). Jupyter Notebook похож на интерфейс записной книжки других программ, таких как Maple , Mathematica и SageMath , стиль вычислительного интерфейса, появившийся в системе Mathematica в 1980-х годах. [16] По данным The Atlantic , в начале 2018 года интерес к Jupyter превысил популярность интерфейса ноутбука Mathematica. [16]
Ядра Jupyter
Jupyter ядро является программой , которая отвечает за обработку различных типов запросов ( выполнение кода , кода доработки , осмотр), и предоставление ответа. Ядра взаимодействуют с другими компонентами Jupyter с помощью ZeroMQ и, таким образом, могут находиться на тех же или удаленных машинах . В отличие от многих других интерфейсов, подобных Notebook, в Jupyter ядра не знают, что они прикреплены к определенному документу, и могут быть подключены сразу ко многим клиентам. Обычно ядра позволяют выполнять только один язык, но есть несколько исключений. [ необходима цитата ]
JupyterHub
JupyterHub [17] - многопользовательский сервер для Jupyter Notebooks. Он разработан для поддержки многих пользователей, создавая, управляя и проксируя множество отдельных серверов Jupyter Notebook. [ необходима цитата ] В то время как JupyterHub требует управления серверами, сторонние сервисы, такие как Jupyo [18], предоставляют альтернативу JupyterHub, размещая и управляя многопользовательскими записными книжками Jupyter в облаке.
JupyterLab
JupyterLab - это новый пользовательский интерфейс для Project Jupyter. Он предлагает стандартные блоки классического Jupyter Notebook (блокнот, терминал, текстовый редактор, файловый браузер, расширенные возможности вывода и т. Д.) В гибком пользовательском интерфейсе. О первом стабильном выпуске было объявлено 20 февраля 2018 г. [19]
Юпитер {Книга}
Jupyter Book - это проект с открытым исходным кодом для создания книг и документов из вычислительного материала. [20] Это позволяет пользователю создавать контент в смеси Markdown , расширенной версии Markdown под названием MyST, [21] Maths & Equations с использованием MathJax , Jupyter Notebooks, reStructuredText , результатов выполнения Jupyter Notebooks во время сборки. Может быть создано несколько выходных форматов (в настоящее время отдельные файлы, многостраничные веб-страницы HTML и файлы PDF ).
nbgrader
nbgrader - это инструмент для создания и оценки (маркировки) заданий в записных книжках Jupyter. [22] Это позволяет инструктору создавать задания, которые включают упражнения по кодированию на Python или любом другом поддерживаемом ядре и текстовые ответы. Отправленные задания могут быть автоматически отмечены, выставлены вручную или и то, и другое.
Принятие в отрасли
Jupyter Notebook стал популярным пользовательским интерфейсом для облачных вычислений , и основные поставщики облачных услуг приняли Jupyter Notebook или производные инструменты в качестве внешнего интерфейса для пользователей облака. Примеры включают SageMaker Notebooks от Amazon , [23] Google Colaboratory [24] и Microsoft Azure Notebook. [25]
Google Colaboratory
Google Colaboratory (также известный как Colab ) - это бесплатная среда для ноутбуков Jupyter, которая работает в облаке и хранит свои записные книжки на Google Диске . Colab изначально был внутренним проектом Google; была предпринята попытка [26] открыть исходный код всего кода и работать напрямую с ним, что привело к разработке расширения Google Chrome «Open in Colab» [27], но это в конечном итоге закончилось, и разработка Colab продолжилась внутри компании. По состоянию на октябрь 2019 г.[Обновить]пользовательский интерфейс Colaboratory позволяет создавать записные книжки только с ядрами Python 2 и Python 3; однако существующий ноутбук, спецификация ядра которого - IR или Swift, также будет работать, поскольку и R, и Swift установлены в контейнере. Язык Julia также может работать на Colab (например, с Python и графическими процессорами; блоки тензорной обработки Google также работают с Julia на Colab [28] ). [29] [30]
Освещение в СМИ
- 11 февраля 2016 года коллаборация LIGO объявила о первом наблюдении гравитационных волн . Сотрудничество выпустило необработанные научные данные вместе с Jupyter Notebooks, содержащими код Python для обработки данных и воспроизведения цифр из статьи об открытии. [31]
- 5 апреля 2018 года The Atlantic опубликовала статью под названием The Scientific Paper Is Obsolete , в которой обсуждалась роль Jupyter Notebook и Mathematica Notebook в будущем научных публикаций. [16] Эта статья вызвала отклики видных ученых и академиков, в том числе экономиста Пола Ромера . [32]
Гранты и награды
- В 2012 году Фернандо Перес получил премию Фонда свободного программного обеспечения за продвижение свободного программного обеспечения за свою работу над IPython , предшественником проекта Jupyter.
- В 2013 году команда IPython получила грант в размере 1,15 миллиона долларов от Фонда Альфреда П. Слоана [33] [34], который профинансировал ранние работы, приведшие к созданию Project Jupyter. [35]
- В 2015 году проект был награжден Jupyter совместный грант на $ 6 млн от The Леоны М. и Гарри Б. Хелмсли Благотворительный фонд , Гордон и Бетти Мур Фонд и Альфреда П. Слоуна , который финансировал работу , которая привела к расширенным возможностям основные инструменты Jupyter, а также создание JupyterLab. [36]
- 2 мая 2018 года руководящий комитет Project Jupyter был удостоен награды ACM Software System Award 2017 , ежегодной награды, присуждаемой людям или организациям «за разработку системы программного обеспечения, оказавшей длительное влияние, что отражено в вкладе в концепции, в коммерческое принятие или и то, и другое ". [37]
Смотрите также
- GNU Octave
- IPython
- RStudio
- SageMath
- Scilab
- Spyder
- Wolfram Mathematica
- Binder Project и BinderHub
- Список пакетов бесплатного и открытого программного обеспечения
- Интерфейс ноутбука
Рекомендации
- ^ a b «Проект Jupyter - О нас» . 2018-04-20 . Проверено 3 мая 2018 .
- ^ «Проект Юпитер» . www.jupyter.org . Проверено 13 ноября 2020 .
- ^ «Проект Jupyter // Колонка» .
- ^ «Блокнот, консоль Qt и ряд других частей теперь являются частью Jupyter» . 29 мая 2021 г.
- ^ «Большой раскол ™» . 28 августа 2017.
- ^ "Проект Jupyter | Домой" .
- ^ сшироков (07.05.2015). «GitHub + Jupyter Notebooks = <3» . Блог GitHub . Проверено 10 апреля 2018 .
- ^ «Рендеринг блокнотов на GitHub - блог Jupyter» . Блог Jupyter . 2015-05-07 . Проверено 10 апреля 2018 .
- ^ «nbconvert: конвертировать записные книжки в другие форматы - документация nbconvert 6.0.8.dev0» . nbconvert.readthedocs.io . Проверено 13 ноября 2020 .
- ^ jupyter / nbconvert , Project Jupyter, 12.04.2021 , получено 13.04.2021
- ^ "nbviewer" . nbviewer.jupyter.org . Проверено 13 ноября 2020 .
- ^ «Что нового в IPython> Проблемы, закрытые в цикле разработки 2.x» .
- ^ «Что нового в серии IPython> 2.0» .
- ^ «Ядра Jupyter> Список (некоторых) ядер, совместимых с IPython» .
- ^ «Анонс ноутбука - примечание к выпуску 0.12» .
- ^ а б в Сомерс, Джеймс. «Научная статья устарела» . Атлантика . Проверено 10 апреля 2018 .
- ^ «Проект Юпитер» .
- ^ «Jupyo | Блокноты Jupyter для Python, R, Julia в облаке» . jupyo.com . Архивировано из оригинала на 2019-01-03 . Проверено 2 января 2019 .
- ^ «JupyterLab готов для пользователей - блог Jupyter» . Блог Jupyter . 2018-02-20 . Проверено 4 мая 2018 .
- ^ «Книги с Юпитером» . jupyterbook.org . Проверено 13 ноября 2020 .
- ^ «Руководство по синтаксису MyST» . myst-parser.readthedocs.io . Проверено 13 ноября 2020 .
- ^ "nbgrader - документация по nbgrader 0.6.1" . nbgrader.readthedocs.io . Проверено 13 ноября 2020 .
- ^ «Amazon SageMaker на AWS» . Amazon Web Services, Inc . Проверено 9 мая 2018 .
- ^ «Добро пожаловать в Colaboratory» . research.google.com . Проверено 9 мая 2018 .
- ^ «Записные книжки Microsoft Azure - онлайн-записные книжки Jupyter» . notebooks.azure.com . Проверено 9 мая 2018 .
- ^ «Ботаны радуются: Google только что выпустил свой внутренний инструмент для совместной работы над ИИ» . Кварц . Проверено 6 сентября 2018 .
- ^ «Открыть в репозитории Colab GitHub» . GitHub . Проверено 6 сентября 2018 .
- ^ Julia на TPU, JuliaTPU , 03.12.2019, дата обращения 03.12.2019
- ^ "Google Colaboratory" . colab.research.google.com . Проверено 6 декабря 2019 .
- ^ «ГПУ - Юля в Google Colab» . Переполнение стека . Проверено 6 декабря 2019 .
- ^ «Открытый научный центр LIGO» . losc.ligo.org . Проверено 4 мая 2018 .
- ^ «Jupyter, Mathematica и будущее исследовательской работы - Пол Ромер» . paulromer.net . Проверено 15 апреля 2018 .
- ^ «Грант Фонда Слоуна - IPython» . ipython.org . Проверено 3 мая 2018 .
- ^ «Платформа с открытым исходным кодом для интерактивных, совместных и воспроизводимых научных вычислений и образования. Инструменты с открытым исходным кодом для интерактивных, совместных и воспроизводимых вычислений» . ipython.org . Проверено 3 мая 2018 .
- ^ Перес, Фернандо (28 декабря 2015 г.). «Итоговый отчет IPython 2015 - Фонд Слоуна» (PDF) . ipython.org . Проверено 3 мая 2018 года .
- ^ «Калифорнийский университет в Беркли и Калифорнийский политехнический университет намерены расширить и усовершенствовать программное обеспечение с открытым исходным кодом для научных вычислений и обработки данных | Благотворительный фонд Хелмсли» . helmsleytrust.org . Проверено 3 мая 2018 .
- ^ «Премия за программные системы» . ACM Awards . Ассоциация вычислительной техники . Проверено 28 апреля 2016 года .
Внешние ссылки
- Официальный веб-сайт
- Ядра Jupyter