catalog compose
Compose entries into a new expression and persist it to the catalog.
Assembles one or more catalog entries (and optionally inline Ibis code) into a new expression, builds it, and always catalogs the result. To execute a composed expression for data output without persisting, use xorq catalog run instead.
Usage
xorq catalog compose [ENTRIES]... [OPTIONS]Arguments
ENTRIES—One or more entries (names or aliases); the first is the source and subsequent entries apply as transforms.
Options
| Option | Default | Description |
|---|---|---|
--sync / --no-sync |
--sync |
Push the catalog to its remotes after the operation. |
-c, --code |
none | Inline Ibis code expression applied to source. |
-a, --alias |
none | Also register this alias for the cataloged entry. |
--cache-dir |
$XORQ_CACHE_DIR or ~/.cache/xorq |
Directory for parquet cache files. |
--dry-run |
off | Show composition plan without building. |
--rename-params |
none | Rename a parameter on a specific entry: entry,old_name,new_name (repeatable). |
--use-this-venv / --no-use-this-venv |
--no-use-this-venv |
Load and build the expression in the current Python environment instead of spawning uv tool run on the entries’ joint bundle. Faster (no subprocess), but only correct when the calling venv already has every package each entry’s wheel depends on. Default is the isolated uv tool run path. |
Examples
# Compose source + transform and catalog the result
xorq catalog compose source-table transform-step --alias prod-pipeline
# Add inline transformation code
xorq catalog compose source-table -c "source.filter(source.amount > 100)" --alias high-value
# Preview without building
xorq catalog compose source-table transform-step --dry-run
# Rename a parameter on one entry of the composition
xorq catalog compose src trn --rename-params trn,threshold,cutoffSee also
catalog run—execute a composed expression for data output