Bokeh Server

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

Сайт: docs.bokeh.org

Bokeh Server — компонент фреймворка Bokeh для интерактивной визуализации данных на языке Python, обеспечивающий двустороннюю связь между Python-приложением и веб-браузером. Он позволяет запускать Python-код на сервере и поддерживает синхронизацию состояний виджетов и графических элементов в реальном времени, что делает возможным создание динамических аналитических панелей и веб-приложений без необходимости писать клиентский JavaScript. Bokeh Server интегрируется с объектной моделью Bokeh, где графики, данные и виджеты представлены как реактивные модели, обновления которых автоматически транслируются в представление браузера.

Концептуально сервер реализует WebSocket-канал для обмена сообщениями между серверной частью на Python и клиентской частью в браузере, обрабатывает запросы на обновление данных и управление пользовательскими событиями, а также управляет жизненным циклом сессий пользователей. Bokeh Server может запускать однопроцессные или многопроцессные приложения, поддерживает развертывание как отдельного сервиса или встраивание в существующие веб-фреймворки, и часто используется в сочетании с инструментами оркестрации и контейнеризации для производства интерактивных дашбордов и аналитических консолей.

  • Реактивность: синхронизация состояний моделей между сервером и клиентом в реальном времени.
  • WebSocket-коммуникация: двунаправленный канал для передачи обновлений и событий пользователя.
  • Сессии: управление пользовательскими сессиями с изоляцией состояний и возможностью многопользовательской работы.
  • Интеграция с Python: выполнение пользовательской логики, доступа к данным и вычислений на сервере с использованием стандартных библиотек Python.
  • Поддержка виджетов: интерактивные элементы управления (фильтры, регуляторы, селекторы) с автоматической привязкой к данным.
  • Расширяемость: возможность добавления пользовательских моделей и расширений, включая пользовательский JavaScript при необходимости.
  • Развертывание: гибкость в размещении — от локального запуска до контейнеров и облачных сред.
  • Производительность: механизмы для работы с большими объёмами данных, включая ленивую загрузку и обновления только изменённых частей представления.
  • Безопасность и управление доступом: возможность настройки аутентификации и контроля доступа при интеграции со внешними сервисами.
  • Комбинация с другими инструментами: совместимость с системами визуализации и веб-фреймворками, позволяющая строить комплексные аналитические решения.
Подробнее