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
| Subcommand | Description |
|---|---|
create | Create a dataset (idempotent — returns the existing dataset if the name is taken). |
list | List the workspace's datasets with watermarks, freshness status, and last update times. |
get | Show one dataset, including freshness status and the last validation report. |
signal | Mark the dataset updated; fires any workflow triggers listening to it. |
listeners | List workflows with an active trigger subscription on the dataset. |
delete | Delete the dataset. Rejected (with the listening workflows) while a trigger references it. |
freshness set/show/clear | Manage the dataset's staleness SLA (see Data Quality). |
contract show/clear | Inspect or remove the stored contract (contracts are usually set from code via rb.Contract). |
validate | Validate a local Parquet/CSV file against the stored contract; exits non-zero on violations. |
check | Import a Python file and diff every dataset config it declares against the platform. Exits 1 on drift or errors — the CI gate. Read-only. |
sync | Same 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
| Option | Type | Description |
|---|---|---|
--watermark | json | Optional 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
| Option | Type | Description |
|---|---|---|
--max-age | str | Staleness threshold, e.g. 45m, 24h. Required. |
--check-at | str | Five-field cron. When set, freshness is only evaluated at these times (checkpoint mode) instead of continuously. |
--timezone | str | IANA 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.

