BookinglyTech News
Infraestructura

dbt Labs abre la beta de dbt Charts: dashboards declarativos en YAML sobre SQL

La herramienta compila ficheros YAML con consultas SQL embebidas en paneles interactivos, con un CLI propio llamado dct y adaptadores para los principales almacenes de datos.

3 min de lecturaConsole.dev0 vistas

dbt Labs ha abierto la beta de dbt Charts, una herramienta que convierte definiciones YAML en dashboards y reportes. El SQL sigue diciendo qué datos quieres ver y un YAML declara cómo quieres verlos. El proyecto está por debajo de la 1.0 y su repositorio en GitHub es un espejo de solo lectura del upstream privado de la compañía.

El problema que ataca es concreto: los paneles generados a golpe de agente acaban acumulando artefactos, frameworks y transformaciones en cada capa, y luego auditarlos es complicado o directamente imposible. La apuesta de dbt Labs es que un formato declarativo se puede versionar, revisar en un pull request y leer sin abrir la interfaz gráfica. Eso es la tesis del producto, no una medición que la compañía haya publicado.

Cada board es un fichero con varias secciones. source apunta a la conexión, style fija cosas como el ancho, variables declara entradas de usuario (por ejemplo un multiselect sobre una columna) y queries guarda el SQL literal, con filtros interpolados del estilo {{ filter('lead_source', lead_source) }}. La sección charts monta el resultado: KPIs con formato de moneda o porcentaje, líneas, barras horizontales, donuts y tablas, cada uno con su consulta asociada. El layout se compone con filas y columnas de anchos relativos.

El CLI y los adaptadores

La instalación es uv tool install dbt-charts o pip install dbt-charts, y requiere Python 3.10 a 3.13. El binario se llama dct y habla con el almacén a través de los adaptadores de dbt, que hay que instalar en el mismo entorno que la herramienta. Hay extras para BigQuery, Athena, ClickHouse, Databricks, PostgreSQL, Redshift, Snowflake, Spark y Trino; DuckDB viene integrado, lo que permite probar sin montar nada.

Los verbos siguen la forma de dbt, uno por tarea. dct init arranca un proyecto, dct validate revisa el YAML sin tocar el almacén (con --strict falla también ante avisos) y dct serve levanta una vista previa en vivo con la que moverse entre boards. dct render saca el resultado en HTML, PDF, PNG, SVG o JSON. Además busca entre boards y traza el impacto de una columna, y lleva la referencia del YAML en local para consultarla sin conexión. Los detalles están en la documentación y se puede probar sin instalar nada en el playground.

Pensado para que lo escriba un agente

dbt Labs empuja el uso desde agentes de código: se le pasa una frase al asistente y una habilidad del propio CLI le enseña la herramienta y qué leer después. También hay extensión para VS Code y una versión para Open VSX. El repositorio acepta issues, pero no pull requests: las contribuciones de código no entran por ahí.

Para quien ya tiene dbt como capa de transformación, esto acerca el modelo de datos a la visualización y reutiliza los mismos adaptadores y credenciales, en lugar de añadir otra pila con su propio runtime. El argumento de la auditabilidad es razonable: un YAML en git se revisa mejor que un panel construido a clics. Lo que la beta no resuelve todavía es la gobernanza, quién aprueba qué board y cómo se controla el acceso a los datos que expone. No hay fecha para la 1.0.