Мы рады объявить о серии бета-версий JupyterLab, веб-интерфейса нового поколения для Project Jupyter.

tl; dr: JupyterLab готов к повседневному использованию (установка, документация, попробуйте с Binder)

Эволюция ноутбука Jupyter

Project Jupyter существует для разработки программного обеспечения с открытым исходным кодом, открытых стандартов и сервисов для интерактивных и воспроизводимых вычислений.

С 2011 года Jupyter Notebook является нашим флагманским проектом по созданию воспроизводимых вычислительных повествований. Jupyter Notebook позволяет пользователям создавать и обмениваться документами, которые объединяют живой код с повествовательным текстом, математическими уравнениями, визуализациями, интерактивными элементами управления и другим разнообразным выводом. Он также предоставляет стандартные блоки для интерактивных вычислений с данными: файловый браузер, терминалы и текстовый редактор.

Jupyter Notebook стал повсеместным благодаря быстрому развитию науки о данных и машинного обучения, а также растущей популярности программного обеспечения с открытым исходным кодом в промышленности и академических кругах:

  • Сегодня миллионы пользователей Jupyter Notebook во многих областях, от науки о данных и машинного обучения до музыки и образования. Наше международное сообщество приехало практически из каждой страны на земле.
  • Jupyter Notebook теперь поддерживает более 100 языков программирования, большинство из которых были разработаны сообществом.
  • На GitHub размещено более 1,7 миллиона общедоступных блокнотов Jupyter. Авторы публикуют блокноты Jupyter вместе с научными исследованиями, академическими журналами, журналистикой данных, образовательными курсами и книгами.

В то же время сообщество столкнулось с проблемами при использовании различных программных рабочих процессов только с ноутбуком, таких как интерактивный запуск кода из текстовых файлов. Классический Jupyter Notebook, созданный на основе веб-технологий с 2011 года, также сложно настраивать и расширять.

JupyterLab: готово для пользователей

JupyterLab - это интерактивная среда разработки для работы с записными книжками, кодом и данными. Что наиболее важно, JupyterLab полностью поддерживает записные книжки Jupyter. Кроме того, JupyterLab позволяет использовать текстовые редакторы, терминалы, средства просмотра файлов данных и другие пользовательские компоненты рядом с записными книжками в рабочей области с вкладками.

JupyterLab обеспечивает высокий уровень интеграции между записными книжками, документами и действиями:

  • Перетаскивайте, чтобы изменить порядок ячеек записной книжки и скопировать их между записными книжками.
  • Запускайте блоки кода в интерактивном режиме из текстовых файлов (.py, .R, .md, .tex и т. Д.).
  • Свяжите консоль кода с ядром записной книжки, чтобы исследовать код в интерактивном режиме, не загромождая записную книжку временной работой с нуля.
  • Редактируйте популярные форматы файлов с предварительным просмотром в реальном времени, такие как Markdown, JSON, CSV, Vega, VegaLite и другие.

JupyterLab разрабатывалась более трех лет, сделав более 11 000 коммитов и 2 000 выпусков пакетов npm и Python. Более 100 участников из более широкого сообщества помогли создать JupyterLab в дополнение к нашим основным разработчикам JupyterLab.

Для начала ознакомьтесь с документацией JupyterLab, чтобы получить инструкции по установке и пошаговое руководство, или попробуйте JupyterLab с Binder. Вы также можете настроить JupyterHub для использования JupyterLab.

Настройте свой опыт работы с JupyterLab

JupyterLab построен на основе системы расширений, которая позволяет настраивать и улучшать JupyterLab путем установки дополнительных расширений. Фактически, встроенная функциональность самого JupyterLab (ноутбуки, терминалы, файловый браузер, система меню и т. Д.) Обеспечивается набором основных расширений.

Помимо прочего, расширения могут:

  • Предоставьте новые темы, редакторы файлов и средства просмотра или средства визуализации для расширенных результатов в записных книжках;
  • Добавить элементы меню, сочетания клавиш или дополнительные параметры настройки;
  • Предоставьте API для использования другими расширениями.

Расширения, разработанные сообществом на GitHub, помечены темой jupyterlab-extension и в настоящее время включают средства просмотра файлов (GeoJSON, FASTA и т. Д.), Интеграцию с Google Диском, просмотр GitHub и поддержку ipywidgets.

Разработка расширений JupyterLab

Хотя многие пользователи JupyterLab установят дополнительные расширения JupyterLab, некоторые из вас захотят разработать свои собственные. API разработки расширений развивается во время серии бета-версий и стабилизируется в JupyterLab 1.0. Чтобы начать разработку расширения JupyterLab, см. Руководство разработчика расширений JupyterLab и шаблоны расширений TypeScript или JavaScript.

Сам JupyterLab разрабатывается совместно с PhosphorJS, новой библиотекой Javascript для создания расширяемых, высокопроизводительных веб-приложений в стиле рабочего стола. Мы используем современные технологии JavaScript, такие как TypeScript, React, Lerna, Yarn и webpack. Модульные тесты, документация, согласованные стандарты кодирования и исследования пользовательского опыта помогают нам поддерживать высокое качество приложения.

JupyterLab 1.0 и выше

Мы планируем выпустить JupyterLab 1.0 позже в 2018 году. Бета-версии, предшествующие 1.0, будут сосредоточены на стабилизации API разработки расширений, улучшениях пользовательского интерфейса и дополнительных основных функциях. Все выпуски бета-версии будут достаточно стабильными для повседневного использования.

JupyterLab 1.0 со временем заменит классический Jupyter Notebook. В течение этого перехода один и тот же формат документов записной книжки будет поддерживаться как классической записной книжкой, так и JupyterLab.

Увлекаться

Есть много способов принять участие в работе JupyterLab. Мы приветствуем вклад всех членов сообщества Jupyter:

  • Используйте наш API для разработки расширений, чтобы создавать собственные расширения JupyterLab. Пожалуйста, добавьте тему jupyterlab-extension, если ваше расширение размещено на GitHub. Мы ценим обратную связь по мере развития стабильного API для JupyterLab 1.0.
  • Участвуйте в разработке, документации и дизайне JupyterLab на GitHub. Чтобы начать разработку, ознакомьтесь с нашими Руководством по участию и Кодексом поведения. Мы помечаем проблемы, которые идеально подходят для новых участников, как хороший первый выпуск или требуется помощь.
  • Свяжитесь с нами на нашей странице проблем GitHub или на нашем канале Gitter. Если вы обнаружили ошибку, у вас есть вопросы или вы хотите оставить отзыв, присоединяйтесь к беседе.

Мы очень рады видеть, как вы используете и расширяете JupyterLab.

Искренне,

Команда JupyterLab и Проект Jupyter

Мы благодарим Bloomberg и Anaconda за их поддержку и сотрудничество в разработке JupyterLab. Мы также благодарим Фонд Альфреда П. Слоана, Фонд Гордона и Бетти Мур и Благотворительный фонд Хелмсли за их поддержку.

[1] На основании кодов 249 стран, перечисленных в ISO 3166–1, последние данные Google Analytics за 2018 год показывают, что jupyter.org принимает посетителей из 213 стран.

[2] Данные, представленные на этом скриншоте, имеют лицензию CC-BY-NC 3.0. См. Http://datacanvas.org/public-transportation/ для получения более подробной информации.