Сокращение | Юпитер |
---|---|
Формирование | Февраль 2015 г . |
Тип | некоммерческая организация |
Цель | Для поддержки интерактивного анализа данных и научных вычислений на всех языках программирования. [1] |
Обслуживаемый регион | Мировой |
Официальный язык | английский |
Интернет сайт | jupyter |
Проект Jupyter ( / dʒ ˙U р ɪ т ər / ( слушать ) ) это проект и сообщество, целью которого является «разработка с открытым исходным кодом программного обеспечения , открытых стандартов и услуг для интерактивных вычислений в десятках языков программирования». [2] Он был выделен из IPython в 2014 году Фернандо Пересом . Название проекта Jupyter - это ссылка на три основных языка программирования, поддерживаемых Jupyter, а именно Julia , Python и R , а также дань уважения кЗаписные книжки Галилея , записывающие открытие спутников Юпитера . Project Jupyter разработал и поддержал интерактивные вычислительные продукты Jupyter Notebook, JupyterHub и JupyterLab.
История [ править ]
В 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 предоставляет 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
- Список пакетов бесплатного и открытого программного обеспечения
- Интерфейс ноутбука
Ссылки [ править ]
- ^ a b «Проект Jupyter - О нас» . 2018-04-20 . Проверено 3 мая 2018 .
- ^ "Проект Jupyter" . www.jupyter.org . Проверено 13 ноября 2020 .
- ^ "Проект Jupyter // Колонка динамика" .
- ^ «Блокнот, консоль Qt и ряд других частей теперь являются частью Jupyter» .
- ^ "Большой раскол ™" .
- ^ "Проект 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 .
- ^ "nbviewer" . nbviewer.jupyter.org . Проверено 13 ноября 2020 .
- ^ «Что нового в IPython> Проблемы, закрытые в цикле разработки 2.x» .
- ^ «Что нового в IPython> 2.0 Series» .
- ^ "Ядра Jupyter> Список (некоторых) ядер, совместимых с IPython" .
- ^ "Объявление ноутбука - примечание к выпуску 0.12" .
- ^ a b c Сомерс, Джеймс. «Научная статья устарела» . Атлантика . Проверено 10 апреля 2018 .
- ^ https://jupyter.org/hub
- ^ "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 .
- ^ "gpu - Юля в 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