Skip to main content

sqb playground

Creates a self-contained waffle shop project with DuckDB. No warehouse credentials, no git clone, no external data - just a working project you can compile, build, test, and explore immediately.

Usage

The positional argument is the directory to create (default sqlbuild-playground). The template is chosen with --template (default waffle_shop).

Templates

What it creates

A complete DuckDB-backed project with:
  • Staging views, fact/dimension tables, and incremental models
  • Sources with inline expression data (no external setup)
  • Seeds, SQL functions, and a custom materialization
  • Built-in and custom audits
  • SQL unit tests including chain tests
  • E2E scenario tests
  • Python macros
  • AI agent skill files (auto-installed for OpenCode, Claude Code, and other agents)
The dagster template adds:
  • dagster/definitions.py - Dagster definitions with sqlbuild_assets, sqlbuild_scenario_checks, and SqlBuildCliResource
  • dagster/README.md - Setup instructions
The python_nodes template instead creates a focused Python-nodes project:
  • tasks/orders.py, loaders/orders.py, assets/orders_export.py, checks/orders_export.py
  • A fact_orders SQL model over a managed raw_orders source
  • Examples of the SQL boundary, ctx.relation(model(...)), soft-skip fan-in, and a Python check

Examples

Notes

  • The target directory must not already exist
  • DuckDB is included as a core dependency - no extra installation needed
  • The local DuckDB database file is created on the first build
  • The Dagster template uses prepare_if_dev() to auto-generate the DAG artifact when Dagster starts in dev mode