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


JupyterLab Desktop


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


CLI и двойной щелчок для запуска


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


# launch in the current directory
jlab .
# launch in a directory at the relative path
jlab ../notebooks
# launch notebook at the path
jlab ../notebooks/test.ipynb

Также поддерживается двойной щелчок, чтобы открыть файлы .ipynb. Двойной клик запустит приложение в родительском каталоге файла и загрузит выбранный файл notebook.



Щёлкните правой кнопкой мыши меню на файле.


Поддержка пользовательской среды Python


Приложение поставляется со средой conda Python, новейшей версией JupyterLab и несколькими популярными библиотеками Python, готовыми к применению в научных вычислениях и рабочих процессах data science. Экземпляр сервера JupyterLab используется как серверная часть со средой Python по умолчанию.


Для конкретных и более широких потребностей вы можете изменить используемую JupyterLab Desktop среду на другую доступную на вашем компьютере — conda, venv или pyenv.



Диалоговое окно выбора среды Python


Подключение к удалённому серверу


В дополнение к автоматическому запуску экземпляра сервера JupyterLab локально и использованию его в качестве серверной части приложения, JupyterLab Desktop можно подключить к существующему удалённому экземпляру сервера JupyterLab.


JupyterLab Desktop может подключаться к экземплярам удалённых серверов с аутентификацией, например SSO. Пользователю отображаются экраны входа в систему, предоставляемые используемой им службой аутентификации, и данные надёжно хранятся в сеансах браузера. Информация о сеансе может быть сохранена для автоматического повторного входа в систему при следующем запуске.



Диалоговое окно настроек подключения к удалённому серверу


Поддержка тем


JupyterLab Desktop теперь поддерживает тёмную, светлую и системную темы. Выбрать их можно в настройках. Системная тема в основном применяет к приложению светлую/тёмную тему, выбранную для ОС.



Тема, применённая к представлению JupyterLab


Выбор темы применяем к представлению JupyterLab и диалоговым окнам приложения.



Тема, применяемая к диалогам


Пользовательские диалоги с jupyter-ui-toolkit


JupyterLab Desktop теперь использует компоненты jupyter-ui-toolkit для диалоговых окон, они предоставляют единый и современный внешний вид всего приложения. А jupyter-ui-toolkit — это инструментарий пользовательского интерфейса, предоставляющий компоненты пользовательского интерфейса с поддержкой создания тем для проектов экосистемы Jupyter.



Компоненты jupyter-ui-toolkit в диалоговых окнах


Автоматическое обновление


JupyterLab Desktop периодически проверяет обновления и уведомляет о них. В macOS может обновлять программу, которая автоматически загружается и устанавливается на следующем запуске. Мы добавляем автоматическое обновление и в Windows.


Обновлён до последней версии JupyterLab и Electron


Мы часто выпускаем обновления JupyterLab Desktop, чтобы поддерживать его синхронизацию с основным JupyterLab и Electron. Решаются проблемы и устраняются болевые точки, о которых сообщают в GitHub Issues.


Постоянно находятся в поле нашего зрения вопросы безопасности, связанные с Electron. В версии v3.5.1-1 мы обновились до Electron v22 и включили контекстную изоляцию для всех сеансов браузера. Контекстная изоляция блокирует доступ к компьютеру пользователя из запущенных во встроенном браузере сценариев и предоставляет высочайший уровень безопасности для приложений Electron.



Научим вас аккуратно работать с данными, чтобы вы прокачали карьеру и стали востребованным IT-специалистом.




Комментарии (9)


  1. OldFashionedEngineer
    22.12.2022 00:05
    +13

    Для непосвященных можно как-то пояснить, что это такое и для чего нужно? Странный какой-то обзор получился. Вот вам пару ссылок, разбирайтесь. Ну и куда кликнуть, чтоб оно запустилось. Хорошо, что есть отметка о том, что это перевод. Но зачем переводить кусочек из новостной ленты с сайта разработчиков и называть это обзором?


    1. Ivnika
      22.12.2022 01:15
      +5

      С языка сняли! Увидев такое описание - "JupyterLab Desktop — кросс-платформенный дистрибутив JupyterLab для десктопа", несколько растерялся. Картинка интересная, а зачем, почему..


    1. stranger777
      22.12.2022 12:53

      Поправили заголовок. Приносим извинения.


    1. AASelivanov
      22.12.2022 23:29
      +1

      JupyterLab -- это что-то вроде IDE для интерактивного python, которая позволяет исполнять код в отдельных ячейках и хранит в памяти промежуточные значения. Также позволяет добавлять ячейки с markdown-форматированием, формулами LaTeX, изображениями и так далее.
      Вроде позволяет работать с R, Julia, Scala и может даже C++, но лично не проверял.

      Изначально запускается в браузере.
      Исторически популярна в научной среде и у аналитиков, потому что позволяет на основе результатов выполнения небольших (ну или больших) блоков кода рассказывать историю (пресловутый storytelling with data).

      То есть результаты работы в JupyterLab могут выглядеть, например, так или так.

      Из плюсов:
      - это довольно удобно;
      - расчёты можно делать поэтапно, не перезапуская весь код заново и не сохраняя специально промежуточные значения;
      - можно запустить на удалённой машине/узле кластера и пробросить туннель, после чего работать с ресурсами прямо из браузера;
      - есть JupyterHub для ещё более простого использования ресурсов общего пользования.

      Из минусов:
      - расхолаживает;
      - перезапуск ячеек не в том порядке может привести к ошибкам и неопределённостям;
      - без сознательной работы над структурой набор блоков очень быстро может скатиться в хаотичное спагетти;
      - инструментов в JupyterLab всё же поменьше, чем во "взрослых" IDE -- ранний останов, отслеживание текущих значений переменных не через исполнение кода, инструменты по рефакторингу, удалению дублирований, отслеживанию неиспользуемых переменных (что частично решается плагинами, но с их установкой могут возникать свои сложности);
      - не все библиотеки python работают так же, как в скриптах (например, argparse просто так не заработает); результирующий файл (.ipynb -- ipython notebook) не является скриптом python (.py), требует дополнительной конвертации.

      В целом, инструмент, на мой взгляд, хорошо подходит для прототипирования, первой проверки гипотез, создания красивого рассказа на основе анализа данных.


  1. ts347
    22.12.2022 10:00
    +1

    Если вдруг сюда придет кто-то, кто пользуется Юпитером — у меня есть совершенно искренний вопрос, зачем он нужен. Им активно пользуются для написания скриптов на питоне люди, работающие в области биоинформатики… я делаю то же самое на обычном декстопном питоне, где у меня любимый удобный редактор кода, нормальная работа с файлами и сетевыми ресурсами, нормальные читаемые скрипты .py вместо XML-ных .ipynb. Но я сварщик не настоящий, поэтому и спрашиваю.


    1. maltsevda
      22.12.2022 10:08

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


    1. frrrost
      22.12.2022 10:51

      Мне понравилось, что Юпитер - это такой гибрид редактора кода и консоли. После каждой ячейки есть свой вывод, он не теряется. Если делаешь какое-то исследование и нужно перед глазами иметь вывод сразу нескольких шагов - очень удобно.

      Я за это же купил DataGrip, он умеет с SQL работать по такому же принципу


    1. vassabi
      22.12.2022 18:42

      1) удобно перемежать код графиками. Это даже не столько графики, как логи многомерных данных - в удобном для человека виде

      2) удобно вычислять пошагово - представьте что у вас программа имеет точки сохранения состояни, и вам необязятельно перезапускать ее всю, чтобы поменять формулу и посчитать что-то заново

      3) НЯП  .ipynb умеет экспортироваться в  .py , так что не должно быть проблемой


  1. Jury_78
    22.12.2022 10:08
    +1

    JupyterLab Desktop

    Это хорошо, что есть альтернативы, но предпочитаю Spyder IDE.