Каковы плюсы и минусы Dash от Plotly против Jupyter Dashboards?

Dash by Plotly выглядит отличным способом для разработчика Python создавать интерактивные веб-приложения без необходимости изучения Javascript и Front End Web. Еще один замечательный проект с аналогичными целями и возможностями - Jupyter Dashboards.

Каковы плюсы и минусы каждого?

В частности, при многопользовательском развертывании? Я также обнаружил, что документация Plotly совершенно неясна в отношении того, что такое Open Source, и загружаются ли данные в них или если печать может быть выполнена в автономном режиме? Есть явно два режима для базовой библиотеки Plotly, но в каком режиме работает Dash?

Ответ 1

Отказ от ответственности: я написал Dash :)

Я бы рекомендовал просто попробовать их обоих. Dash занимает около 30 минут, чтобы пройти через учебник.

Я бы также рекомендовал проверить:

Есть некоторые высокоуровневые функции Dash (они более подробно описаны в письме на объявление)

  • Приложения Dash требуют очень маленького шаблона, чтобы начать работу - простое приложение "привет мир" Dash находится под 50 строками кода.
  • Приложения Dash создаются полностью из Python, даже HTML и JS
  • Приложения Dash связывают интерактивные компоненты (выпадающие списки, графики, слайдеры, текстовые входы) с вашим собственным кодом Python через реактивные " callbacks " Dash.
  • Dash Apps являются "реактивными", что означает, что легко рассуждать о сложных пользовательских интерфейсах с несколькими входами, несколькими выходами и входами, которые зависят от других входов.
  • Приложения Dash являются по своей сути многопользовательскими приложениями, поскольку "состояние" приложения полностью находится в клиенте: несколько пользователей могут просматривать приложения и проводить независимые сеансы.
  • Dash использует React.js для рендеринга компонентов и включает в себя систему плагинов для создания ваших собственных компонентов Dash с помощью React.
  • Компонент Dash Graph является интерактивным, позволяя авторам приложений Dash писать приложения, которые реагируют на зависание, щелчок или выбор точек на графике.

Я также обнаружил, что документация Plotly совершенно неясна в отношении того, что такое Open Source, и загружаются ли данные в них или если печать может быть выполнена в автономном режиме?

Похоже, это относится к графической библиотеке plotly.py. Это отдельная библиотека, чем Dash. Обе библиотеки используют лицензированную библиотеку plotly.js MIT для создания диаграмм. plotly.js не отправляет какие-либо данные на графический сервер - это полностью клиентская сторона.

Библиотека plotly.py включает в себя методы отправки данных на ваш онлайн-счет в режиме реального времени для размещения, совместного использования и редактирования диаграмм, но полностью исключает их. Опять же, plotly.py - это отдельная библиотека, чем Dash. plotly.py предназначен для интерактивного графического plotly.py, Dash предназначен для создания интерактивных приложений (которые могут включать диаграммы).

В частности, при многопользовательском развертывании? Есть явно два режима для базовой библиотеки Plotly, но в каком режиме работает Dash?

  • Dash - лицензия MIT. Вы можете запускать Dash на своих серверах или на вашем компьютере.
  • Dash использует сервер Flask, поэтому вы можете развертывать приложения Dash так же, как и развертывать приложения Flask
  • Plotly лицензирует сервер Dash Deployment Server, серверный продукт, который может быть установлен в вашей собственной инфраструктуре. Dash Deployment Server - это "PaaS", который упрощает развертывание приложений на ваших собственных серверах, аутентификацию SSO/LDAP, планы поддержки и т.д.

Ответ 2

Ну, на одной панели инструментов jupyter есть бесплатные графические панели, которые я бы предположил, используя библиотеку ploty, где, как панели инструментов jupyter, могут использовать любые нужные вам модули/библиотеки. Сегодня я закончил создание панели инструментов jupyter для сбора информации из всех наших систем CI. Это было невероятно просто и честно весело. Как только вы получите один или два источника данных, выясните добавление нового или добавление нового виджета легко, а также добавьте виджеты управления.