Аббревиатура | Юпитер |
---|---|
Формирование | Февраль 2015 ( 2015-02 ) |
Тип | Некоммерческая организация |
Цель | Интерактивная наука о данных и научные вычисления |
Регион обслуживания | Во всем мире |
Официальный язык | Английский |
Веб-сайт | jupyter.org |
Проект Jupyter ( / ˈ dʒ uː p ɪ t ər / ⓘ ) — проект по разработкепрограммного обеспечения с открытым исходным кодом,открытых стандартови сервисов дляинтерактивных вычисленийна несколькихязыках программирования.
Он был выделен из IPython в 2014 году Фернандо Пересом и Брайаном Грейнджером. Название проекта Jupyter является ссылкой на три основных языка программирования, поддерживаемых Jupyter, а именно Julia , Python и R. Его название и логотип являются данью уважения открытию Галилеем лун Юпитера , как это зафиксировано в записных книжках, приписываемых Галилею.
Jupyter финансово спонсируется NumFOCUS. [1]
Первая версия Notebooks для IPython была выпущена в 2011 году командой, в которую входили Фернандо Перес, Брайан Грейнджер и Мин Раган-Келли. [2] В 2014 году Перес анонсировал ответвление проекта от IPython под названием Project Jupyter. [3] IPython продолжает существовать как оболочка Python и ядро для Jupyter, в то время как Notebook и другие независимые от языка части IPython перешли под название Jupyter. [4] [5] Jupyter поддерживает среды выполнения (называемые «ядрами») на нескольких десятках языков, включая Julia, R, Haskell , Ruby и Python (через ядро IPython).
В 2015 году на GitHub было доступно около 200 000 блокнотов Jupyter . К 2018 году их было доступно около 2,5 миллионов. [6] В январе 2021 года их было доступно около 10 миллионов, включая блокноты о первом наблюдении гравитационных волн [7] и об открытии в 2019 году сверхмассивной черной дыры . [8]
Крупные поставщики облачных вычислений приняли Jupyter Notebook или производные инструменты в качестве интерфейса фронтенда для пользователей облака. Примерами являются Amazon SageMaker Notebooks, [9] Google's Colab, [10] [11] и Microsoft's Azure Notebook. [12]
Visual Studio Code поддерживает локальную разработку блокнотов Jupyter. По состоянию на июль 2022 года расширение Jupyter для VS Code было загружено более 40 миллионов раз, что делает его вторым по популярности расширением в VS Code Marketplace. [13]
Руководящий комитет проекта Jupyter получил премию ACM Software System Award 2017 — ежегодную награду, которая присуждается людям или организациям «за разработку программной системы, которая оказала длительное влияние, выразившееся в вкладе в концепции, в коммерческом принятии или в том и другом». [14]
В 2018 году The Atlantic опубликовал статью под названием «Научная статья устарела», в которой обсуждалась роль Jupyter Notebook и Mathematica Notebook в будущем научных публикаций. [15] Экономист Пол Ромер в ответ опубликовал запись в блоге, в которой он размышлял о своем опыте использования Mathematica и Jupyter для исследований, сделав в частности вывод о том, что Jupyter «лучше справляется с доставкой того, что имел в виду Теодор Грей , когда проектировал Mathematica Notebook». [16]
В 2021 году журнал Nature назвал Jupyter одним из десяти вычислительных проектов, которые изменили науку. [8]
Jupyter Notebook в разговорной речи может обозначать две разные концепции: либо пользовательское приложение для редактирования кода и текста, либо базовый формат файла, совместимый со многими реализациями.
Jupyter Notebook (ранее IPython Notebook) — это интерактивная вычислительная среда на основе веб-технологий для создания документов блокнотов . Jupyter Notebook создан с использованием нескольких библиотек с открытым исходным кодом , включая IPython , ZeroMQ , Tornado , jQuery , Bootstrap и MathJax . Приложение Jupyter Notebook — это REPL на основе браузера, содержащий упорядоченный список ячеек ввода/вывода, которые могут содержать код, текст (с использованием Github Flavored Markdown ), математику, графики и мультимедийные данные .
Jupyter Notebook похож на интерфейс блокнота других программ, таких как Maple , Mathematica и SageMath , вычислительный стиль интерфейса, который возник вместе с Mathematica в 1980-х годах. Интерес к Jupyter превзошел популярность интерфейса блокнота Mathematica в начале 2018 года. [15]
JupyterLab — это новый пользовательский интерфейс для Project Jupyter, предлагающий гибкий пользовательский интерфейс и больше функций, чем классический пользовательский интерфейс блокнота. Первый стабильный релиз был анонсирован 20 февраля 2018 года. [17] [18] В 2015 году совместный грант в размере 6 миллионов долларов от Благотворительного фонда Леоны М. и Гарри Б. Хелмсли , Фонда Гордона и Бетти Мур и Фонда Альфреда П. Слоуна профинансировал работу, которая привела к расширению возможностей основных инструментов Jupyter, а также к созданию JupyterLab. [19]
В ноябре 2022 года GitHub объявил, что JupyterLab будет доступен на его онлайн-платформе для кодирования Codespace. [20]
В августе 2023 года было выпущено расширение Jupyter AI. Это расширение включает генеративный искусственный интеллект в блокноты Jupyter, позволяя пользователям объяснять и генерировать код, исправлять ошибки, резюмировать контент, запрашивать информацию о своих локальных файлах и генерировать полные блокноты на основе подсказок на естественном языке. [21]
JupyterHub — многопользовательский сервер для Jupyter Notebooks. Он разработан для поддержки многих пользователей путем создания, управления и проксирования множества отдельных серверов Jupyter Notebook. [22]
Документ Jupyter Notebook представляет собой файл JSON , следующий версионной схеме, обычно заканчивающийся расширением «.ipynb». Основные части Jupyter Notebooks: метаданные, формат Notebook и список ячеек. Метаданные — это словарь данных определений для настройки и отображения Notebook. Формат Notebook — это номер версии программного обеспечения. Список ячеек — это различные типы ячеек для Markdown (отображение), кода (для выполнения) и вывода ячеек типа кода. [23]
Хотя JSON является наиболее распространенным форматом, можно отказаться от некоторых функций (например, хранения изображений и метаданных) и сохранять блокноты как документы markdown, используя расширения, такие как Jupytext. [24] Jupytext часто используется в сочетании с контролем версий, чтобы упростить сравнение и слияние блокнотов.