Введение
Пакет Bokeh предоставляет инженерам не только удобную Python-библиотеку для построения графиков, но и мощную консольную утилиту. В этом практическом руководстве мы подробно разберем работу с интерфейсом командной строки Bokeh в среде Ubuntu: от генерации автономных HTML-отчетов и выгрузки схем в JSON до запуска полноценного веб-сервера интерактивных дашбордов.
1. Инсталляция пакетов и аудит окружения (bokeh info)
Для подготовки рабочей среды синхронизируем списки пакетов APT и установим Bokeh вместе с менеджером модулей Python.

Команда bokeh info служит для комплексной проверки состояния рабочей среды: она собирает сведения о версиях интерпретатора Python, самого Bokeh, а также о конфигурации бэкенда и доступных модулях.
⚙️ [Ключевые подкоманды CLI]
info : Выводит диагностические данные системы, версию пакета Bokeh, установленные зависимости и переменные среды.serve : Поднимает встроенный веб-сервер для интерактивного хостинга аналитических приложений.html : Компилирует код визуализации в полностью автономную веб-страницу формата HTML.json : Выполняет сериализацию графических элементов и массивов данных в формат JSON.secret : Генерирует криптографический ключ для безопасной аутентификации серверных веб-сессий.

2. Экспорт графиков в автономный HTML-документ (bokeh html)
Создадим изолированный рабочий каталог и перейдем в него с помощью цепочки команд mkdir -p ~/bokeh-demo && cd ~/bokeh-demo.

Сформируем тестовый файл plot_sample.py с исходным кодом простой точечной диаграммы (scatter plot).

Вызов bokeh html plot_sample.py трансформирует написанный скрипт в независимый файл разметки HTML, который можно открыть в любом современном браузере без активного бэкенда на Python.

Проконтролируем факт создания целевого артефакта plot_sample.html и оценим его размер командой ls -lh plot_sample.html.

3. Извлечение структуры и данных диаграммы в формат JSON (bokeh json)
С помощью команды bokeh json plot_sample.py > plot_output.json можно извлечь все графические модели, настройки отображения и наборы данных скрипта, сохранив их в структурированном виде. Этот файл незаменим при интеграции графики с внешними API или клиентскими библиотеками вроде BokehJS.

Для ознакомления со схемой сериализации выведем первые двадцать строк получившегося файла командой head -n 20 plot_output.json. Это позволит убедиться в корректности идентификаторов корневых моделей, параметров рендерера и структуры источников данных.

4. Запуск интерактивного веб-сервера приложений (bokeh serve)
Создадим скрипт server_app.py, демонстрирующий возможности запуска динамических веб-приложений. В коде с помощью метода curdoc().add_root() линейный график привязывается к корню текущего документа сессии.

Команда timeout 5s bokeh serve server_app.py --port 5006 --allow-websocket-origin="*" запускает встроенный веб-сервер Bokeh. Опция --port 5006 указывает рабочий порт сервиса, а флаг --allow-websocket-origin="*" разрешает WebSocket-подключения для внешних клиентов.

Мы изучили основные режимы работы консольного интерфейса Bokeh в операционной системе Ubuntu. Комбинируя рассмотренные подкоманды, вы сможете легко автоматизировать экспорт графических отчетов и развертывать масштабируемые интерактивные панели мониторинга данных.