Всем привет!
Одним из основных инструментов на нашем курсе «Разработчик BigData» является Jupyter. Глянем, что его разработчики приготовили в новой итерации и что уже доступно в бета-версии.
Поехали.
Вкратце: JupyterLab готов к ежедневному использованию (установка, документация, экскурс через Binder)
JupyterLab — это интерактивная среда разработки для работы с блокнотами, кодом и данными.
Эволюция Jupyter Notebook
Проект 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 позволяет организовать рабочую зону с помощью блокнотов, текстовых файлов, терминалов и выводов блокнотов.
JupyterLab обеспечивает высокий уровень интеграции между блокнотами, документами и действиями:
- Используется drag-and-drop для того чтобы можно было переупорядочить ячейки и скопировать их между блокнотами.
- Блоки кода выполняются интерактивно прямо из текстовых файлов (.py, .R, .md, .tex и т. д.).
- Консоль кода можно связать с ядром блокнота, чтобы изучать код в интерактивном режиме, не загромождая блокнот временными правками.
- Возможность редактирования популярных форматов файлов с предварительным просмотром в реальном времени, такие как Markdown, JSON, CSV, Vega, VegaLite и другие.
Для начала стоит ознакомится с документацией и инструкцией по установке или глянуть при помощи MyBinder. Так же можно настроить JupyterHub для работы JupyterLab.
Настройте свой JupyterLab
JupyterLab построен на системе расширений, которые позволяют настраивать и улучшать сред под себя. Фактически, вся встроенная функциональность самого JupyterLab (блокноты, терминалы, браузер файлов, система меню и т. д.) обеспечивается набором основных расширений.
Расширения JupyterLab позволяют работать с различными форматами данных, такими как GeoJSON, JSON и CSV.
Помимо прочего, расширения могут:
- Предоставлять новые темы, редакторы файлов или средства визуализации для объемных выводов в блокнотах;
- Добавить пункты меню, сочетания клавиш или дополнительные параметры настройки;
- Предоставлять API для других расширений.
Разработанные сообществом расширения на GitHub помечены темой jupyterlab-extension и в настоящее время включают в себя файловые просмотрщики (GeoJSON, FASTA и т. д.), интеграцию с Google Диском, просмотр GitHub и поддержку ipywidgets.
Разработка расширений JupyterLab
Хотя большинство пользователей JupyterLab будут устанавливать готовые расширения, некоторые захотят разработать свои собственные. API разработки расширений еще развивается в этой бета-версии и должно стабилизироваться в JupyterLab 1.0. Чтобы начать разработку расширения JupyterLab, см. Руководство разработчика расширений JupyterLab и шаблоны расширения для TypeScript или JavaScript.
Сам 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, если расширение размещено на GitHub. Обратная связь очень ценна.
- Можно внести свой вклад в разработку, документацию и дизайн JupyterLab на GitHub. Чтобы начать работу с разработкой, ознакомьтесь с Руководством по внедрению и Кодексом поведения. Проблемы, которые идеально подходят для новых участников, обозначаются как «хороший первое задание» или «нужна помощь».
- Можно связаться на странице решения проблем на GitHub или нашем канале Gitter. Это полезно если обнаружена ошибка или захочется получить какой-то фидбек от разработчиков.
THE END
Вопросы, комментарии, как всегда, ждём или тут, или на Дне открытых дверей, где можно будет помучать Ксению вопросами, как по курсу, так и вообще.
Автор: MaxRokatansky