depends_on.
Defining a check
Place Python files underchecks/ and decorate functions with @check. depends_on is required:
CheckContext and reads its dependencies’ persisted results with ctx.result_of(...).
Results
Return a result through the context helpers, or a bool shorthand:
Returning
None is not allowed - checks must be explicit.
Severity
@check takes a severity of error (default) or warn:
error(default) - a failing check failssqb build.warn- a failing check is reported but does not fail the build.
ctx.warn(...) always produces a warning regardless of the declared severity.
What checks can depend on
- Checks may depend on tasks, assets, and loaders.
- Checks may not depend on SQL models, sources, seeds, or functions. Use SQL audits to validate SQL relations.
- Checks may not depend on other checks.
- Checks may not depend on a terminal source loader directly. Validate loaded source data with a source audit instead.
group, tags, or path.
Decorator parameters
Checks do not support
columns, column_lineage, or retry.
Running checks
Checks run automatically duringsqb build when their Python dependencies run. They are skipped when --no-audits is passed. To run checks on their own, use sqb check:
sqb check rejects selecting non-check nodes; use sqb build to run tasks and assets. Check results are written to target/run/checks/python_checks.json, and sqb check --json prints them to stdout.
Checks vs audits
sqb build runs both. sqb audit runs SQL audits only; sqb check runs Python checks only.
