Dash

Бесплатно
Открытый исходный код

Сайт: plotly.com/dash

Dash — это открытый фреймворк на языке Python для создания интерактивных веб-приложений и аналитических панелей (дашбордов), ориентированных на визуализацию данных. Фреймворк объединяет серверную часть на основе Flask, клиентскую отрисовку компонентов через React и визуализацию графиков с помощью Plotly.js, предоставляя разработчикам набор декларативных инструментов для связывания графиков, таблиц и элементов управления с Python-логикой. Dash предназначен для быстрой разработки приложений, в которых аналитические вычисления и визуализация реализованы одной командой разработки без необходимости писать JavaScript-код вручную.

Архитектура Dash строится вокруг компонентов пользовательского интерфейса и реактивных обратных вызовов (callbacks): изменения состояния входных элементов приводят к вызову функций на сервере, который возвращает обновлённое состояние выходных компонентов. Это позволяет создавать интерактивные визуализации, фильтрацию данных, обновляемые метрики и пользовательские интерфейсы для исследования данных. Фреймворк применяется в аналитике, научных исследованиях, бизнес-интеллекте и прототипировании визуализаций, а также подходит для развёртывания как локально, так и на серверных платформах.

  • Компонентная модель: декларативное описание интерфейса через готовые React-компоненты, доступные из Python.
  • Интеграция с Plotly: нативная поддержка интерактивных графиков Plotly.js для построения сложных визуализаций.
  • Реактивные callbacks: механизмы связывания входов и выходов для управления обновлениями интерфейса на основе событий.
  • Поддержка кастомных компонентов: возможность расширять библиотеку собственными React-компонентами и интегрировать их в Python-приложение.
  • Развёртывание и масштабирование: совместимость с WSGI/ASGI и распространёнными облачными сервисами для продуктовой эксплуатации.
  • Компоненты управления: широкий набор виджетов для ввода данных, фильтрации и навигации (селекторы, слайдеры, чекбоксы и пр.).
  • Тематизация и стили: возможности по кастомизации внешнего вида через CSS и интеграцию с UI-библиотеками.
  • Работа с таблицами и данными: инструменты для отображения, сортировки и редактирования табличных данных в интерфейсе.
  • Сообщество и экосистема: набор расширений и примеров для типичных сценариев визуализации и аналитики.
Подробнее