CLI Reference (v0)¶
This page documents the WowData command-line interface.
Index¶
wow and wowdata
WowData installs two equivalent entry points:
wowwowdata
They expose the same commands and options.
Example:
wow run pipeline.yaml
wowdata run pipeline.yaml
Common flags
These appear on multiple commands:
--base-dir PATH: resolve relative paths in YAML against a specific base directory--json: print machine-readable JSON output instead of human-oriented text
When To Use It
Use the CLI when you want to:
- run YAML pipelines without writing Python code
- validate pipeline structure and I/O configuration
- inspect inferred output schema
- write schema-locked pipeline YAML
run
Execute a YAML pipeline end to end.
Signature
wow run PIPELINE [--base-dir PATH] [--json] [--quiet] [--show-checkpoints]
Example:
wow run examples/climate_heat_events.yaml --base-dir examples
Arguments
PIPELINE
Required.
Path to the pipeline YAML file.
--base-dir PATH
Optional.
Resolve relative paths inside YAML against PATH.
--json
Optional.
Print a machine-readable JSON summary instead of standard text output.
--quiet
Optional.
Suppress the normal status summary.
--show-checkpoints
Optional.
Print checkpoint details after the run.
In JSON mode, this adds checkpoint_data to the output payload.
Behavior
- loads the YAML pipeline
- executes the pipeline via
Pipeline.run() - reports sink paths, checkpoint count, and validation summaries
validate
Parse pipeline YAML and run preflight validation without executing the full pipeline.
Signature
wow validate PIPELINE [--base-dir PATH] [--json]
Example:
wow validate pipeline.yaml
Behavior
- loads the pipeline YAML
- runs
Pipeline.preflight() - checks structure and source/sink path viability
- does not execute transforms or write sinks
Use this when you want a cheap sanity check before a real run.
schema
Infer the output schema without running the full pipeline.
Signature
wow schema PIPELINE [--base-dir PATH] [--sample-rows N] [--force] [--json]
Example:
wow schema pipeline.yaml --json
Arguments
--sample-rows N
Optional. Default: 200.
Number of rows to sample for source schema inference.
--force
Optional.
Recompute schema inference even if cached values exist.
Behavior
- loads the pipeline
- calls
Pipeline.schema(...) - returns the best-effort output schema without executing sinks
lock-schema
Write a schema-locked YAML pipeline.
Signature
wow lock-schema PIPELINE [-o OUTPUT] [--base-dir PATH] [--sample-rows N] [--force] [--json]
Example:
wow lock-schema pipeline.yaml -o pipeline.locked.yaml
Arguments
-o, --output
Optional.
Output path for the locked YAML file.
If omitted, WowData derives a default .locked.yaml-style path.
--sample-rows N
Optional. Default: 200.
Number of rows to sample during schema inference.
--force
Optional.
Recompute schema inference even if cached values exist.
Behavior
- loads the pipeline
- computes schema snapshots across transforms
- writes a YAML file with explicit per-transform
output_schema
Use this when you want schema-aware behavior to remain stable after serialization.
Exit Codes
WowData uses these CLI exit codes:
0: success2: CLI usage error3: pipeline parse or load failure4: pipeline runtime failure
In practice:
- malformed YAML usually returns
3 - invalid runtime behavior during
runusually returns4