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,cutoff

See also

  • catalog run—execute a composed expression for data output