Skip to content

HomeModel

Model

A Model is a pure data object describing what data looks like and where it goes. It does not contain execution logic — that lives in a separate execute function that receives the model as a parameter.

The Model itself is the top-level container. Its sub-objects each have their own page:

  • Temporality — the model's time axis (TEMPORAL / TIMELESS), plus the materialization (table / view) choice
  • Target — where data lands (table, schema, columns, write mode)
  • Staging — optional staging table on Target
  • Contract — historical envelope for backfill mode
  • Batch — chunk size, lookback, retries
  • Curfew — wall-clock hours/days the model must not run
  • State — per-model state tracking
  • Upstream — the model's inputs (list[Source]): gated upstreams + ungated sources
  • Tagging — controls which auto-derived tags get added to the model