Visão Geral
Descubra o potencial do utilitário de linha de comando do Bokeh para manipular gráficos analíticos no Ubuntu sem sair do terminal. Este laboratório prático abrange desde a compilação de relatórios independentes em HTML e serialização JSON até a publicação de aplicações web reativas prontas para consumo no navegador.
1. Configurando o Ambiente e Verificando o Diagnóstico do Sistema (bokeh info)
Antes de iniciar as renderizações, sincronizamos os repositórios oficiais e instalamos o runtime necessário via gerenciador de pacotes do sistema operacional.

A instrução bokeh info realiza uma auditoria completa no ambiente local, exibindo detalhes sobre o interpretador Python, bibliotecas acopladas e caminhos de backend.
⚙️ [Subcomandos Essenciais]
info : Inspeciona o estado da instalação, listando dependências ativas, paths e variáveis de ambiente.serve : Inicializa o servidor HTTP/WebSocket dedicado para hospedar aplicações interativas.html : Converte scripts analíticos em documentos web estáticos e autocontidos.json : Exporta a árvore de modelos visuais e matrizes numéricas no padrão JSON.secret : Produz chaves criptográficas seguras para proteger sessões de autenticação do servidor.

2. Exportando Gráficos Autônomos em Páginas HTML (bokeh html)
Organizamos um diretório dedicado para nossos testes práticos através do comando mkdir -p ~/bokeh-demo && cd ~/bokeh-demo, isolando os arquivos gerados.

Em seguida, estruturamos o script Python plot_sample.py, configurando um diagrama de dispersão (scatter plot) com transparências e paleta personalizada.

Para empacotar esse gráfico em uma interface pronta para distribuição sem dependências de servidor, acionamos bokeh html plot_sample.py. O utilitário processa a sintaxe e gera um arquivo HTML estático.

Verificamos o artefato final gerado no diretório executando ls -lh plot_sample.html, inspecionando o tamanho do payload web resultante.

3. Serializando Modelos Gráficos em Esquemas JSON (bokeh json)
Ao executar bokeh json plot_sample.py > plot_output.json, a ferramenta converte todo o grafo de objetos e arrays em uma representação estruturada em JSON.
Essa abordagem é ideal para integrar renderizações do backend Python a pipelines front-end externos ou aplicações que utilizam a engine JavaScript BokehJS.

Para auditar o payload gerado, usamos head -n 20 plot_output.json, lendo o cabeçalho do documento serializado.
Essa conferência permite validar identificadores raiz, definições de renderizadores geométricos e mapeamento de coordenadas antes do consumo por APIs externas.

4. Hospedando Painéis Dinâmicos em Tempo Real (bokeh serve)
Para criar experiências analíticas que respondem a eventos em tempo real, desenvolvemos o arquivo server_app.py.
A chamada curdoc().add_root() associa a figura vetorial diretamente à sessão ativa gerenciada pelo servidor.

Iniciamos a instância com o comando timeout 5s bokeh serve server_app.py --port 5006 --allow-websocket-origin="*".
O parâmetro --port 5006 fixa a porta de comunicação do serviço web, enquanto --allow-websocket-origin="*" habilita a troca bidirecional de dados entre clientes remotos e a sessão Python.

Com essa rotina prática, você conheceu as principais interfaces do Bokeh CLI para orquestrar gráficos eficientes no Linux.
Combine esses comandos em seus scripts de automação e crie dashboards analíticos robustos com agilidade no Ubuntu.