Introducción y Fundamentos
En esta guía exploraremos a fondo la interfaz de línea de comandos (CLI) de Bokeh, un potente ecosistema para la representación gráfica en entornos Ubuntu. Analizaremos flujos de trabajo clave paso a paso: desde compilar gráficos en artefactos estáticos (HTML y JSON) hasta desplegar aplicaciones analíticas interactivas en tiempo real mediante su propio servidor web.
1. Instalación y Diagnóstico del Entorno (bokeh info)
Antes de comenzar con los ejercicios, actualizamos los repositorios del sistema e instalamos los paquetes requeridos para contar con Bokeh y las dependencias de Python operativas.

Para auditar el estado del despliegue, ejecutamos bokeh info. Esta instrucción recopila y muestra diagnósticos cruciales como la versión del paquete, el intérprete de Python en uso, rutas de configuración y dependencias enlazadas.
⚙️ [Subcomandos esenciales]
info : Muestra un informe exhaustivo con las dependencias instaladas, versiones y variables de entorno del sistema.serve : Levanta el servidor HTTP/WebSocket dedicado a alojar cuadros de mando dinámicos y aplicaciones reactivas.html : Transforma el script en un archivo HTML independiente con capacidades de renderizado en navegador.json : Extrae la definición vectorial y los datos de las figuras en un esquema serializado compatible con BokehJS.secret : Genera una clave criptográfica aleatoria para firmar y proteger las sesiones activas del servidor Bokeh.

2. Compilación de Gráficos en HTML Autónomo (bokeh html)
Comenzamos organizando el espacio de trabajo creando un directorio dedicado al proyecto y posicionándonos dentro de él mediante mkdir -p ~/bokeh-demo && cd ~/bokeh-demo.

A continuación, preparamos un script de prueba denominado plot_sample.py que define un gráfico de dispersión (scatter plot) básico:
![cat « ‘EOF’ > plot_sample.py
from bokeh.plotting import figure, save
p = figure(title=“Sample Plot”, width=600, height=400)
p.circle([1, 2, 3, 4], [2, 5, 8, 3], size=10, color=“navy”, alpha=0.5)
EOF](/ubuntu/20261014_013735_64/captures/s02_c02_cat_____EOF____plot_sample_py_from_bokeh_plotting.png)
Para generar una página web autocontenida sin requerir un backend Python activo, lanzamos bokeh html plot_sample.py. La utilidad procesa el código fuente y empaqueta la lógica visual junto con los recursos de BokehJS en un archivo HTML listo para visualizar en cualquier navegador estándar.

Verificamos la correcta generación del archivo resultante y su peso en disco ejecutando ls -lh plot_sample.html.

3. Serialización del Gráfico a Formato JSON (bokeh json)
Mediante el comando bokeh json plot_sample.py > plot_output.json, podemos volcar las estructuras del gráfico, geometrías y colecciones de datos directamente en una representación JSON normalizada. Esta modalidad resulta especialmente útil para integrar visualizaciones en arquitecturas frontend desacopladas que utilicen BokehJS o APIs externas.

Examinamos las primeras líneas del archivo generado mediante head -n 20 plot_output.json para inspeccionar la jerarquía de los objetos exportados. Esto nos permite comprobar los identificadores de modelos raíz, renderizadores gráficos y metadatos de las fuentes de datos.

4. Despliegue de Aplicaciones en Vivo con Bokeh Server (bokeh serve)
Cuando se requieren gráficos con actualización bidireccional en tiempo real, el CLI permite iniciar un servidor de aplicaciones web. Creamos un nuevo script llamado server_app.py, vinculando una figura lineal a la sesión activa mediante la instrucción curdoc().add_root():
![cat « ‘EOF’ > server_app.py
from bokeh.plotting import figure, curdoc
p = figure(title=“Live App”)
p.line([1, 2, 3], [1, 4, 9])
curdoc().add_root(p)
EOF](/ubuntu/20261014_013735_64/captures/s04_c01_cat_____EOF____server_app_py_from_bokeh_plotting_i.png)
Para levantar el servicio web, ejecutamos timeout 5s bokeh serve server_app.py --port 5006 --allow-websocket-origin="*". En esta instrucción, --port 5006 define el puerto de red para las conexiones entrantes, mientras que el parámetro --allow-websocket-origin="*" habilita el tráfico WebSocket sin restricciones de origen para facilitar pruebas en red local.

A través de esta guía hemos repasado las funciones esenciales que ofrece Bokeh CLI en Ubuntu para construir flujos de visualización eficientes. Combinando estas opciones según las necesidades de tu arquitectura, podrás implementar desde reportes estáticos hasta dashboards interactivos de alto rendimiento con mínimo esfuerzo.