- PVSM.RU - https://www.pvsm.ru -

Что есть в новом JupyterLab для пользователей?

Всем привет!

Одним из основных инструментов на нашем курсе «Разработчик BigData» [1] является Jupyter [2]. Глянем, что его разработчики приготовили в новой итерации и что уже доступно в бета-версии.

Поехали.

Вкратце: JupyterLab готов к ежедневному использованию (установка [3], документация [4], экскурс через Binder [5])

JupyterLab — это интерактивная среда разработки для работы с блокнотами, кодом и данными.

Что есть в новом JupyterLab для пользователей? - 1

Эволюция Jupyter Notebook

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

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

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

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

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

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

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

Что есть в новом JupyterLab для пользователей? - 2

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

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

  • Используется drag-and-drop для того чтобы можно было переупорядочить ячейки и скопировать их между блокнотами.
  • Блоки кода выполняются интерактивно прямо из текстовых файлов (.py, .R, .md, .tex и т. д.).
  • Консоль кода можно связать с ядром блокнота, чтобы изучать код в интерактивном режиме, не загромождая блокнот временными правками.
  • Возможность редактирования популярных форматов файлов с предварительным просмотром в реальном времени, такие как Markdown, JSON, CSV, Vega, VegaLite и другие.

Для начала стоит ознакомится с документацией [4]и инструкцией [3]по установке или глянуть при помощи MyBinder [5]. Так же можно настроить JupyterHub [8] для работы JupyterLab.

Настройте свой JupyterLab

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

Что есть в новом JupyterLab для пользователей? - 3

Расширения JupyterLab позволяют работать с различными форматами данных, такими как GeoJSON, JSON и CSV.

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

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

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

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

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

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

JupyterLab 1.0 и далее

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

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

Присоединяйтесь

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

  • Используйте API разработки расширений, чтобы создавать собственные расширения JupyterLab. Пожалуйста, добавьте тему расширения jupyterlab-extension [13], если расширение размещено на GitHub. Обратная связь очень ценна.
  • Можно внести свой вклад в разработку, документацию и дизайн JupyterLab на GitHub [14]. Чтобы начать работу с разработкой, ознакомьтесь с Руководством по внедрению [15] и Кодексом поведения [16]. Проблемы, которые идеально подходят для новых участников, обозначаются как «хороший первое задание [17]» или «нужна помощь» [18].
  • Можно связаться на странице решения проблем на GitHub [19]или нашем канале Gitter [20]. Это полезно если обнаружена ошибка или захочется получить какой-то фидбек от разработчиков.

THE END

Вопросы, комментарии, как всегда, ждём или тут, или на Дне открытых дверей [21], где можно будет помучать Ксению [22] вопросами, как по курсу, так и вообще.

Автор: MaxRokatansky

Источник [23]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/275964

Ссылки в тексте:

[1] «Разработчик BigData»: https://otus.pw/fYu3/

[2] Jupyter: http://jupyter.org/

[3] установка: http://jupyterlab.readthedocs.io/en/stable/getting_started/installation.html

[4] документация: http://jupyterlab.readthedocs.io/en/stable/getting_started/overview.html

[5] экскурс через Binder: https://mybinder.org/v2/gh/jupyterlab/jupyterlab-demo/18a9793b58ba86660b5ab964e1aeaf7324d667c8?urlpath=lab%2Ftree%2Fdemo%2FLorenz.ipynb

[6] 100 языков программирования: https://github.com/jupyter/jupyter/wiki/Jupyter-kernels

[7] 1,7 миллиона : https://github.com/parente/nbestimate

[8] настроить JupyterHub: http://jupyterlab.readthedocs.io/en/stable/user/jupyterhub.html

[9] jupyterlab-extension: https://github.com/topics/jupyterlab-extension

[10] Руководство разработчика расширений JupyterLab: http://jupyterlab.readthedocs.io/en/stable/developer/extension_dev.html

[11] TypeScript : https://github.com/jupyterlab/extension-cookiecutter-ts

[12] JavaScript: https://github.com/jupyterlab/extension-cookiecutter-js

[13] jupyterlab-extension: http://github.com/topics/jupyterlab-extension

[14] GitHub: https://github.com/jupyterlab/jupyterlab

[15] Руководством по внедрению: https://github.com/jupyterlab/jupyterlab/blob/master/CONTRIBUTING.md

[16] Кодексом поведения: https://github.com/jupyter/governance/blob/master/conduct/code_of_conduct.md

[17] хороший первое задание: https://github.com/jupyterlab/jupyterlab/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22

[18] «нужна помощь»: https://github.com/jupyterlab/jupyterlab/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22

[19] GitHub : https://github.com/jupyterlab/jupyterlab/issues

[20] Gitter: https://gitter.im/jupyterlab/jupyterlab

[21] Дне открытых дверей: https://otus.pw/qBrU/

[22] Ксению: https://otus.pw/L95q/

[23] Источник: https://habrahabr.ru/post/351820/?utm_campaign=351820