Skip to content

Databox

Databox is a local-first ingestion and data-product platform with dlt-managed Iceberg raw tables on AWS S3, a local Apache Polaris catalog, and DuckDB transformations. SQLMesh transforms data, Soda validates it, and Dagster orchestrates the workflow.

Start here

Evaluate offline

task install   # creates .env from .env.example when absent
task ci

This runs the repository's static, test, secret, and generated-artifact gates. It does not require a provider refresh or populated warehouse.

Build and inspect the warehouse

Configure source, Polaris, and AWS S3 writer values in the .env created by task install, then run:

$EDITOR .env
docker compose --env-file .env -f compose.iceberg.yml up -d
task full-refresh   # ingest Iceberg raw tables → local models → quality
task dagster:dev    # inspect assets at localhost:3000

Raw tables live in S3 and are registered by local Polaris; modeled data and export inputs live in data/databox.duckdb. See configuration, the commands reference, and the operations runbook.

Understand the data

Add a source

Start with the new-source workflow, then follow the authoritative source layout. After ingestion, the project skills move each source through annotation and taxonomy, ontology, Kimball CDM design, and SQLMesh transformation. The registry-derived modeling guard verifies that every source completes this chain.

Operating and extending

Everything under dictionary/ is generated from SQLMesh and Soda metadata. Do not hand-edit it.