rebase dataset

Manage named datasets, signal updates, and configure contracts and freshness SLAs.

Synopsis

rebase dataset create <name> [--description <text>]
rebase dataset list
rebase dataset get <name>
rebase dataset signal <name> [--watermark <json>]
rebase dataset listeners <name>
rebase dataset delete <name>

rebase dataset freshness set <name> --max-age 45m [--check-at "15 9 * * *"] [--timezone <tz>]
rebase dataset freshness show <name>
rebase dataset freshness clear <name>

rebase dataset contract show <name>
rebase dataset contract clear <name>
rebase dataset validate <name> <file.parquet|file.csv>

rebase dataset check <file.py>
rebase dataset sync <file.py> [--yes]

A dataset is a named pointer to data that lives elsewhere (warehouse table, bucket prefix, external feed) plus a watermark — the platform never stores the data itself. Names may contain slashes, e.g. nordpool/prices.

Subcommands

SubcommandDescription
createCreate a dataset (idempotent — returns the existing dataset if the name is taken).
listList the workspace's datasets with watermarks, freshness status, and last update times.
getShow one dataset, including freshness status and the last validation report.
signalMark the dataset updated; fires any workflow triggers listening to it.
listenersList workflows with an active trigger subscription on the dataset.
deleteDelete the dataset. Rejected (with the listening workflows) while a trigger references it.
freshness set/show/clearManage the dataset's staleness SLA (see Data Quality).
contract show/clearInspect or remove the stored contract (contracts are usually set from code via rb.Contract).
validateValidate a local Parquet/CSV file against the stored contract; exits non-zero on violations.
checkImport a Python file and diff every dataset config it declares against the platform. Exits 1 on drift or errors — the CI gate. Read-only.
syncSame diff as check, then publish the in-code configs after confirmation (--yes to skip). The explicit way to evolve a published contract — deploys fail on unsynced drift.

Options for signal

OptionTypeDescription
--watermarkjsonOptional watermark recording how far the data now reaches — typically a timestamp string. Parsed as JSON, falling back to a raw string.

Options for freshness set

OptionTypeDescription
--max-agestrStaleness threshold, e.g. 45m, 24h. Required.
--check-atstrFive-field cron. When set, freshness is only evaluated at these times (checkpoint mode) instead of continuously.
--timezonestrIANA timezone for --check-at.

Behavior

Signaling records a dataset event, updates the stored watermark, and evaluates listening triggers; the command prints any runs it fired. Inside deployed workflows the same signal is available as rb.Dataset.from_name(...).mark_updated(watermark=...) or source.write(df, table, dataset=...) — the write path also validates against the contract and attaches the report to the signal.

Freshness transitions (fresh → stale and back) fire dataset.stale/dataset.fresh webhooks when the workspace notification policy has --on-stale enabled (rebase workspace notifications set --on-stale).

See Triggers and Datasets for how datasets drive rebase.OnUpdate triggers, and Data Quality for contracts and freshness SLAs.

On this page