Skip to content
Not released yet: version 0.1 is being built. See what works today.

Built on open source

Metrics Book is built on other people’s open-source work, and we want everyone to know whose. Each project below does one job in the stack. Here is what it does, why we chose it, and its licence, read from its own repository on 27 October 2026. If Metrics Book is useful to you, support these projects too.

What it does: loads your sources into the warehouse, in Python.

Why: it is code first, so an agent can write and change a pipeline like any other code. Its connectors are maintained, and you can write your own source when there is none.

dlthub.com · Apache-2.0

DuckDB, by the DuckDB Foundation and DuckDB Labs

Section titled “DuckDB, by the DuckDB Foundation and DuckDB Labs”

What it does: stores and queries the data on the server’s own disk and memory. It is the default warehouse.

Why: it gives one VM the analytical speed of a warehouse, with no service margin and no bill per query. Postgres is tested as the second warehouse from day one, so moving off DuckDB is a setting, not a rewrite.

duckdb.org · MIT

What it does: turns raw data into the models the metrics read.

Why: it is the most used tool for the job, and agents write it well. We use dbt Core 1.x; the 2.x engine is not used, because its DuckDB support is incomplete and its default binary is not open source.

getdbt.com · Apache-2.0

What it does: holds the datasets and metrics as code, compiles them to SQL, and runs the reports.

Why: it is a code-first semantic layer with Data Apps on top, so every chart and every agent uses the same definition of a metric. It also serves MCP, so agents can read the models.

anfra.ai · Apache-2.0

anfra’s compiler and query runner ship as binaries built from Holistics’ private repositories, as anfra’s own DEVELOPMENT.md says. Metrics Book reaches anfra through one module, so a replacement would change one place.

What it does: reads the SQL behind each dbt model.

Why: it parses SQL in every dialect we support, so lineage reaches from a metric back to the source columns.

sqlglot.com · MIT

What they do: Postgres is the app database: people, access, the catalog and the audit log. pgvector adds search by meaning across metrics, terms and reports.

Why: one database holds it all, and search runs as one query, by meaning and by words, with the access filter in the same query.

postgresql.org · PostgreSQL licence · pgvector under the same licence

What it does: the web framework the API and the MCP connector run on.

Why: it is small, built on web standards, and easy to test. Better Auth mounts on it without an adapter, and Holistics’ reference host for anfra uses it too.

hono.dev · MIT

What it does: sign-in, sessions, API keys, and the OAuth server agents sign in through.

Why: it was the only candidate that covers Claude’s connector sign-in and service accounts inside the API, with no extra container.

better-auth.com · MIT

What it does: decides every data request: which datasets each person may read, and so which metrics they see.

Why: its policies are YAML files in git that an agent can maintain, with tests of their own, and it keeps no state.

cerbos.dev · Apache-2.0

Astro and Starlight, by the Astro contributors

Section titled “Astro and Starlight, by the Astro contributors”

What they do: Astro builds metricsbook.io, and Starlight is these docs.

Why: Astro is built for content sites, and Starlight is the best tool we found for docs.

astro.build · MIT · starlight.astro.build · MIT