3 ms·
(Anders here, on the dbt Charts team) What drew me to the dbt project back in 2020 and what ultimately led me get a job at dbt Labs was this notion that when c
by data_ders 17d ago
(Anders here, on the dbt Charts team)
What drew me to the dbt project back in 2020 and what ultimately led me get a job at dbt Labs was this notion that when compared to software engineering teams, analytics teams had been vastly unserved by their tools.
In 2016 (and largely to this day), BI teams work in point-and-click interfaces without Software Development Lifecycle mainstays like source control, testing, and deployment environments.
There are BI engineers who do work like software engineers, but the gap b/w those who work like SWEs and those who don't is wide.
dbt Charts (like dbt before it did for data engineers) aims to empower data analysts to work with stakeholders in a more efficient and sustainable manner than was previously possible. The means to this end are: a succinct YAML DSL spec for defining charts, a powerful CLI that lets you validate, compile, and render the code into a dashboard spec the YAML.
Like data analysts being able to do PRs for changes to a dashboard is still rather unheard of especially if those PRs are in repos with other analytics code. Many BI vendors do ship some form of diffing and environment promotion, but virtually always these features fall short of what SWEs use every day.
- Tarq0n 17d agoWhy go for a configuration based format over a library though? Something like Streamlit or Dash offers more control and lends itself better to interactive exploration.
- mollifier14 17d agoA library is for coding in the classical sense. Declaring in YAML is a very light form of coding I would say, much more accessible to non-engineers. A simple dashboard in YAML is so much more readable to a human than some python code that uses a library. This is mainly a audience question. If there's a use case in the future, we could consider also offering a library. But if you just want to vibe code dashboards in actual code, there's plenty out there already that will give you JS code (predominantly).