Decode, subset, convert, reproject, or enrich data and metadata.
Aliases accepted for stage: — processing, transform.
Generated from Zyra 0.1.54. See Pipeline Schema for how args keys become CLI flags.
Commands: api-json · audio-metadata · audio-transcode · convert-format · decode-grib2 · enrich-datasets · enrich-metadata · extract-variable · metadata · pad-missing · reproject · scan-frames · update-dataset-json · video-transcode
process api-json
Read a JSON or NDJSON file/stream, select fields via dot paths, optionally flatten nested objects, explode arrays into multiple rows, and write CSV or JSONL.
Positionals
Arg key |
Required |
Type |
Usable in a pipeline stage? |
|---|---|---|---|
|
yes |
str |
no — see note |
Not pipeline-addressable. The runner has no positional mapping for this command, so
file_or_urlwould be emitted as a--flagand rejected by argparse. Use this command from the CLI, or open an issue to add the mapping.
Options
Arg key |
CLI flag |
Type |
Default |
Description |
|---|---|---|---|---|
|
|
str |
Dot path to array of records (e.g., data.lifelogs or data.chat.messages) |
|
|
|
str |
Apply provider-specific defaults (e.g., Limitless lifelogs records path) Choices: |
|
|
|
str |
Comma-separated field list (dot paths). If omitted, use first row keys |
|
|
|
bool |
|
Flatten nested objects |
|
|
str |
Repeatable: dot path to array to explode into multiple rows |
|
|
|
str |
Comma-separated derived columns: word_count,sentence_count,tool_calls_count |
|
|
|
str |
|
Output format Choices: |
|
|
bool |
|
Error on missing fields instead of emitting empty strings |
|
|
path |
|
Output file path or ‘-’ for stdout |
Chaining: reads stdin via file_or_url: "-".
process audio-metadata
Run ffprobe to extract duration, bitrate, channels, sample rate, codec, and size; writes JSON.
Positionals
Arg key |
Required |
Type |
Usable in a pipeline stage? |
|---|---|---|---|
|
yes |
str |
no — see note |
Not pipeline-addressable. The runner has no positional mapping for this command, so
inputwould be emitted as a--flagand rejected by argparse. Use this command from the CLI, or open an issue to add the mapping.
Options
Arg key |
CLI flag |
Type |
Default |
Description |
|---|---|---|---|---|
|
|
path |
|
Output path or ‘-’ for stdout |
|
|
bool |
|
|
|
|
bool |
|
|
|
|
bool |
|
process audio-transcode
Transcode input audio to a target format using ffmpeg. Requires FFmpeg runtime.
Positionals
Arg key |
Required |
Type |
Usable in a pipeline stage? |
|---|---|---|---|
|
yes |
str |
no — see note |
Not pipeline-addressable. The runner has no positional mapping for this command, so
inputwould be emitted as a--flagand rejected by argparse. Use this command from the CLI, or open an issue to add the mapping.
Options
Arg key |
CLI flag |
Type |
Default |
Description |
|---|---|---|---|---|
|
|
path |
Output file path |
|
|
|
str |
|
Choices: |
|
|
int |
|
|
|
|
bool |
|
Force mono output |
|
|
bool |
|
Force stereo output (overrides –mono) |
|
|
bool |
|
|
|
|
bool |
|
|
|
|
bool |
|
Chaining: writes via --output.
process convert-format
Convert decoded GRIB2 data to NetCDF or GeoTIFF. Supports single input or batch via –inputs.
Positionals
Arg key |
Required |
Type |
Usable in a pipeline stage? |
|---|---|---|---|
|
no |
str |
yes |
|
yes |
str ( |
yes |
Options
Arg key |
CLI flag |
Type |
Default |
Description |
|---|---|---|---|---|
|
|
path |
||
|
|
bool |
|
Write binary output to stdout instead of a file |
|
|
path |
Multiple input paths or URLs |
|
|
|
path |
Directory to write outputs for –inputs |
|
|
|
path |
Destination filenames for –inputs, one per input, in order (default: the source stem). Use to name frames by valid time instead of inheriting the source’s cycle-relative name. |
|
|
|
str |
|
Choices: |
|
|
str |
Variable name or regex for multi-var datasets |
|
|
|
str |
Regex for .idx-based subsetting when using HTTP/S3 |
|
|
|
bool |
|
Use unsigned S3 access for public buckets |
|
|
bool |
|
Verbose logging for this command |
|
|
bool |
|
Quiet logging for this command |
|
|
bool |
|
Shell-style trace of key steps and external commands |
Chaining: reads stdin via file_or_url: "-"; writes via --output.
Example stage
- stage: process
command: convert-format
args:
file_or_url: "samples/demo.grib2"
format: "netcdf"
stdout: true
process decode-grib2
Decode a GRIB2 file or URL using cfgrib/pygrib/wgrib2 and log basic metadata. Optionally emit raw bytes (with optional .idx subset) to stdout.
Positionals
Arg key |
Required |
Type |
Usable in a pipeline stage? |
|---|---|---|---|
|
yes |
str |
yes |
Options
Arg key |
CLI flag |
Type |
Default |
Description |
|---|---|---|---|---|
|
|
str |
|
Choices: |
|
|
str |
Regex for .idx-based subsetting when using HTTP/S3 |
|
|
|
bool |
|
Use unsigned S3 access for public buckets |
|
|
bool |
|
Emit raw (optionally .idx-subset) GRIB2 bytes to stdout |
|
|
bool |
|
Verbose logging for this command |
|
|
bool |
|
Quiet logging for this command |
|
|
bool |
|
Shell-style trace of key steps and external commands |
Chaining: reads stdin via file_or_url: "-".
process enrich-datasets
zyra process enrich-datasets
Options
Arg key |
CLI flag |
Type |
Default |
Description |
|---|---|---|---|---|
|
|
str |
Path to items JSON |
|
|
|
str |
Bundled profile name under zyra.assets.profiles |
|
|
|
str |
External profile JSON path |
|
|
|
str |
Enrichment level Choices: |
|
|
|
float |
|
Per-item timeout (s) |
|
|
int |
|
Concurrency (workers) |
|
|
int |
|
Cache TTL seconds |
|
|
bool |
|
Disable network during enrichment |
|
|
bool |
|
Require HTTPS for remote probing |
|
|
str |
Allow host suffix (repeatable) |
|
|
|
str |
Deny host suffix (repeatable) |
|
|
|
int |
Skip probing when larger than this size |
|
|
|
path |
|
Output path or ‘-’ for stdout |
|
|
bool |
|
Verbose logging for this command |
|
|
bool |
|
Quiet logging for this command |
|
|
bool |
|
Shell-style trace of key steps and external commands |
process enrich-metadata
Enrich a frames metadata JSON with dataset_id, Vimeo URI, and updated_at; read from file or stdin.
Options
Arg key |
CLI flag |
Type |
Default |
Description |
|---|---|---|---|---|
|
|
path |
Path to frames metadata JSON |
|
|
|
bool |
|
Read frames metadata JSON from stdin |
|
|
str |
Dataset identifier to embed |
|
|
|
str |
Vimeo video URI to embed in metadata |
|
|
|
bool |
|
Read Vimeo URI from stdin (first line) |
|
|
path |
|
Output path or ‘-’ for stdout |
|
|
bool |
|
Verbose logging for this command |
|
|
bool |
|
Quiet logging for this command |
|
|
bool |
|
Shell-style trace of key steps and external commands |
process extract-variable
Extract a variable from GRIB2 by regex pattern. Output selected variable as NetCDF/GRIB2 to stdout when requested, or log the matched variable name.
Positionals
Arg key |
Required |
Type |
Usable in a pipeline stage? |
|---|---|---|---|
|
yes |
str |
yes |
|
yes |
str |
yes |
Options
Arg key |
CLI flag |
Type |
Default |
Description |
|---|---|---|---|---|
|
|
str |
|
Choices: |
|
|
bool |
|
Use unsigned S3 access for public buckets |
|
|
bool |
|
Write selected variable as bytes to stdout |
|
|
str |
|
Output format for –stdout Choices: |
|
|
bool |
|
Verbose logging for this command |
|
|
bool |
|
Quiet logging for this command |
|
|
bool |
|
Shell-style trace of key steps and external commands |
Chaining: reads stdin via file_or_url: "-".
process metadata
Scan a frames directory to compute start/end timestamps, counts, and missing frames on a cadence.
Options
Arg key |
CLI flag |
Type |
Default |
Description |
|---|---|---|---|---|
|
|
path |
Directory containing frames |
|
|
|
str |
Regex filter for frame filenames |
|
|
|
str |
Datetime format used in filenames (e.g., %Y%m%d%H%M%S) |
|
|
|
int |
Expected cadence to compute missing frames |
|
|
|
path |
|
Output path or ‘-’ for stdout |
|
|
bool |
|
Verbose logging for this command |
|
|
bool |
|
Quiet logging for this command |
|
|
bool |
|
Shell-style trace of key steps and external commands |
process pad-missing
Read frames metadata JSON from ‘transform metadata/scan-frames’ and generate placeholder images for each missing timestamp using blank, solid color, basemap, or nearest-frame strategies.
Options
Arg key |
CLI flag |
Type |
Default |
Description |
|---|---|---|---|---|
|
|
path |
Path to frames metadata JSON (from transform metadata/scan-frames) |
|
|
|
bool |
|
Read frames metadata JSON from stdin |
|
|
path |
Directory where placeholder frames will be written |
|
|
|
str |
|
Strategy for filling gaps (default: blank) Choices: |
|
|
str |
Basemap image, package reference, or color (solid/basemap modes) |
|
|
|
str |
Optional overlay indicator, e.g., watermark:MISSING or badge:pkg:… |
|
|
|
bool |
|
Replace existing files when output paths already exist |
|
|
bool |
|
Report planned outputs without writing files |
|
|
str |
Optional path to write a JSON summary report |
|
|
|
bool |
|
Verbose logging for this command |
|
|
bool |
|
Quiet logging for this command |
|
|
bool |
|
Shell-style trace of key steps and external commands |
process reproject
Warp an already-rendered raster (PNG/JPG/GeoTIFF) from its source projection to a target CRS grid — by default full-globe equirectangular EPSG:4326 at 4096x2048. For native scientific data (GRIB2/NetCDF), use the existing decode/extract/convert path instead; this command is for imagery that was rendered in another projection. Requires the optional rasterio dependency (zyra[processing]).
Options
Arg key |
CLI flag |
Type |
Default |
Description |
|---|---|---|---|---|
|
|
path |
Source raster path |
|
|
|
path |
Output raster path |
|
|
|
path |
Multiple source rasters for batch reprojection (with –output-dir) |
|
|
|
path |
Directory to write outputs for –inputs (each keeps its source filename) |
|
|
|
path |
Destination filenames for –inputs, one per input, in order (default: the source filename) |
|
|
|
str |
Source CRS (e.g., EPSG:3413). Overrides any embedded CRS; required for plain images without georeferencing (with –bounds) |
|
|
|
str |
|
Target CRS (default: EPSG:4326) |
|
|
float |
Source extent in source-CRS units, for rasters without a geotransform |
|
|
|
str |
Target extent in target-CRS units, or ‘auto’ to derive it from the source’s own footprint so regional imagery crops itself (default: full globe for EPSG:4326) |
|
|
|
int |
|
Output width in pixels (default: 4096) |
|
|
int |
Output height in pixels (default: derived from –width and the target extent’s aspect ratio; 2048 for the full globe) |
|
|
|
str |
|
Resampling kernel: bilinear for continuous imagery, nearest for categorical (default: bilinear) Choices: |
|
|
float |
Value for pixels outside the source footprint (accepts ‘nan’ for float sources); default: the source’s nodata when present, else 0. Tagged in GeoTIFF output |
|
|
|
bool |
|
Verbose logging for this command |
|
|
bool |
|
Quiet logging for this command |
|
|
bool |
|
Shell-style trace of key steps and external commands |
process scan-frames
Alias of ‘metadata’. Scan a frames directory and report timestamps, counts, and missing frames.
Options
Arg key |
CLI flag |
Type |
Default |
Description |
|---|---|---|---|---|
|
|
path |
Directory containing frames |
|
|
|
str |
Regex filter for frame filenames |
|
|
|
str |
Datetime format used in filenames (e.g., %Y%m%d%H%M%S) |
|
|
|
int |
Expected cadence to compute missing frames |
|
|
|
path |
|
Output path or ‘-’ for stdout |
|
|
bool |
|
Verbose logging for this command |
|
|
bool |
|
Quiet logging for this command |
|
|
bool |
|
Shell-style trace of key steps and external commands |
process update-dataset-json
Update a dataset.json entry by id using metadata (start/end and Vimeo URI) from a file, stdin, or args.
Options
Arg key |
CLI flag |
Type |
Default |
Description |
|---|---|---|---|---|
|
|
path |
HTTP(S) or s3:// URL of dataset.json |
|
|
|
path |
Local dataset.json path |
|
|
|
str |
Dataset id to update |
|
|
|
str |
Path to metadata JSON containing start_datetime/end_datetime/vimeo_uri |
|
|
|
bool |
|
Read metadata JSON from stdin |
|
|
str |
Explicit startTime override (ISO) |
|
|
|
str |
Explicit endTime override (ISO) |
|
|
|
str |
Explicit Vimeo URI (e.g., /videos/12345) |
|
|
|
bool |
|
Do not update dataLink from Vimeo URI |
|
|
path |
|
Output path or ‘-’ for stdout |
|
|
bool |
|
Verbose logging for this command |
|
|
bool |
|
Quiet logging for this command |
|
|
bool |
|
Shell-style trace of key steps and external commands |
process video-transcode
Transcode videos or JPG image stacks into modern or legacy formats using FFmpeg. Supports SOS presets, metadata capture, and batch processing.
Positionals
Arg key |
Required |
Type |
Usable in a pipeline stage? |
|---|---|---|---|
|
yes |
str |
no — see note |
Not pipeline-addressable. The runner has no positional mapping for this command, so
inputwould be emitted as a--flagand rejected by argparse. Use this command from the CLI, or open an issue to add the mapping.
Options
Arg key |
CLI flag |
Type |
Default |
Description |
|---|---|---|---|---|
|
|
path |
Output file path (single input) or directory when batching |
|
|
|
str |
|
Target container format Choices: |
|
|
str |
Video codec to use (sensible default chosen per container) Choices: |
|
|
|
str |
Audio codec to use (defaults based on container) |
|
|
|
str |
Optional audio bitrate, e.g. 192k |
|
|
|
str |
Optional scale filter, e.g. 1920x1080 or 1080 |
|
|
|
float |
Output frames per second (also used as input framerate for sequences) |
|
|
|
float |
Alias for –fps, kept for FFmpeg parity |
|
|
|
str |
Target video bitrate (e.g. 8M, 2500k). Defaults to 8M or SOS preset |
|
|
|
str |
Pixel format to emit (default yuv420p for compatibility) |
|
|
|
str |
FFmpeg encoder preset when supported |
|
|
|
int |
Constant Rate Factor value for quality-based encoders |
|
|
|
int |
Group-of-pictures interval (keyframe spacing) |
|
|
|
str |
Additional raw FFmpeg arguments (repeatable) |
|
|
|
str |
Path to write ffprobe metadata JSON |
|
|
|
bool |
|
Emit ffprobe metadata JSON after transcoding |
|
|
bool |
|
Apply SOS defaults: -framerate 30 -b:v 25M -c:v libxvid -pix_fmt yuv420p |
|
|
bool |
|
Do not overwrite existing outputs (passes -n to FFmpeg) |
|
|
bool |
|
|
|
|
bool |
|
|
|
|
bool |
|
Chaining: writes via --output.