Skip to content

CLI Reference

This page is generated from the live Click command tree. Use firecube <command> --help for the same information in your terminal.

firecube

batch ingestion tool for EO datasets

Batch ingestion and management tool for Earth Observation datasets. Writes Zarr and Parquet stores with built-in resume safety, idempotent chunk tracking, and multi-resolution support. Run firecube ingest to start a job, or explore subcommands for storage management and diagnostics.

Usage:

firecube [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--version boolean Show the version and exit. False
--config-file path Firecube TOML config file (default: ~/.config/firecube/config.toml) Sentinel.UNSET
-h, --help boolean Show this message and exit. False

firecube advise

performance advice helpers

Read-only helpers for configuring ingestion. Use advise batch-size to get a recommended pipeline_batch_size before running large ingestion jobs.

Usage:

firecube advise [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

firecube advise batch-size

recommend optimal batch size

Recommends an optimal pipeline_batch_size based on the Zarr store's time chunk shape. Reads the store metadata to compute how many time steps fit into memory without partial chunks. Run before a long ingestion job to set --option pipeline_batch_size=N.

Usage:

firecube advise batch-size [OPTIONS]

Options:

Name Type Description Default
-p, --product text Firecube product URI (file:///abs/path or s3://bucket/key); storage flags inferred from URI scheme. Sentinel.UNSET
-g, --group text group path inside the product (e.g. F024/FWI) Sentinel.UNSET
--storage-driver choice (fsspec | obstore) Storage backend driver. Sentinel.UNSET
--storage-type choice (local | s3) Storage locality/class. Sentinel.UNSET
-h, --help boolean Show this message and exit. False

firecube advise compliance

run structural compliance checks

Opens a Zarr cube and runs the selected compliance profile. Findings are emitted as human-readable text (default) or as JSON. Exit codes: 0 on clean (or warnings/info without --strict), 1 if any error finding is reported, 2 if warnings/info appear under --strict.

Usage:

firecube advise compliance [OPTIONS]

Options:

Name Type Description Default
--profile choice (cf-18) compliance profile to run Sentinel.UNSET
-p, --product text Firecube product URI (file:///abs/path or s3://bucket/key); storage flags inferred from URI scheme. Sentinel.UNSET
-g, --group text group path inside the cube ('.' or '/' for root, otherwise e.g. F024/FWI) Sentinel.UNSET
--format choice (text | json) output format for the report text
--strict boolean treat any warning or info finding as a non-zero exit (code 2) False
--storage-driver choice (fsspec | obstore) Storage backend driver. Sentinel.UNSET
--storage-type choice (local | s3) Storage locality/class. Sentinel.UNSET
-h, --help boolean Show this message and exit. False

firecube archive

create and manage Tensogram archives

Archives compress all array groups from a Zarr store into a single portable file using configurable codecs. Use archive create to produce an archive and archive restore to extract it back to Zarr.

Usage:

firecube archive [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

firecube archive create

convert a Zarr store to a .tgm archive

reads all selected array groups, encodes them with the chosen codec (default: zstd), and writes a single portable .tgm file. use --start-date and --end-date to archive a specific time window, or --group to select one product group.

Usage:

firecube archive create [OPTIONS]

Options:

Name Type Description Default
-s, --source text Zarr store URI (file:///abs/path or s3://bucket/key) Sentinel.UNSET
-a, --archive text Target archive URI; runtime decides what is supported (file:///abs/path or s3://bucket/key). Sentinel.UNSET
--storage-type choice (local | s3) N/A Sentinel.UNSET
--storage-driver choice (fsspec | obstore) N/A Sentinel.UNSET
--start-date text ISO 8601 start date for time range filter None
--end-date text ISO 8601 end date for time range filter None
-g, --group text product group to archive (e.g. F024, NORDLIS) None
--variables text comma-separated variable names to include None
--compression choice (blosc2 | szip | zstd | lz4 | zfp | sz3) compression codec for .tgm encoding (default: zstd) None
--overwrite boolean overwrite existing target file False
--allow-nan / --no-allow-nan boolean allow NaN values in archive (default: true) None
--allow-inf / --no-allow-inf boolean allow Inf values in archive (default: true) None
--dry-run boolean Show what would happen without making any changes. False
--yes-i-really-mean-it boolean Skip confirmation prompts. Required for destructive operations in non-TTY. False
-h, --help boolean Show this message and exit. False

firecube archive info

show metadata for a .tgm archive

reads the archive header to display variable names, dimension sizes, codec, and time coverage. no data is decoded or written; suitable for quick inspection.

Usage:

firecube archive info [OPTIONS]

Options:

Name Type Description Default
-a, --archive text Archive URI to inspect (file:///abs/path or s3://bucket/key). Sentinel.UNSET
-f, --format choice (table | json | csv) Output format. table
-h, --help boolean Show this message and exit. False

firecube archive list

list contents of a .tgm archive

displays per-variable group entries including name, dimensions, and time range. no data is decoded; useful for reviewing archive contents before restoring.

Usage:

firecube archive list [OPTIONS]

Options:

Name Type Description Default
-a, --archive text Archive URI to inspect (file:///abs/path or s3://bucket/key). Sentinel.UNSET
-h, --help boolean Show this message and exit. False

firecube archive restore

restore a .tgm archive to a Zarr store

decodes all encoded array groups from the .tgm file and writes them back to the target Zarr store. archive groups restore to their original paths.

Usage:

firecube archive restore [OPTIONS]

Options:

Name Type Description Default
-a, --archive text Target archive URI; runtime decides what is supported (file:///abs/path or s3://bucket/key). Sentinel.UNSET
-t, --target text Target Firecube product URI; --storage-type must match URI scheme. Sentinel.UNSET
--storage-type choice (local | s3) N/A Sentinel.UNSET
--storage-driver choice (fsspec | obstore) N/A Sentinel.UNSET
--overwrite boolean overwrite existing Zarr store False
--dry-run boolean Show what would happen without making any changes. False
--yes-i-really-mean-it boolean Skip confirmation prompts. Required for destructive operations in non-TTY. False
-h, --help boolean Show this message and exit. False

firecube archive validate

check integrity of a .tgm archive

reads the archive header and validates internal structure without fully decoding data. exits with code 0 if the archive is valid, code 1 if it is corrupted or incomplete.

Usage:

firecube archive validate [OPTIONS]

Options:

Name Type Description Default
-a, --archive text Archive URI to inspect (file:///abs/path or s3://bucket/key). Sentinel.UNSET
--quick boolean structure-only check (no hash verification) False
-h, --help boolean Show this message and exit. False

firecube catalog

generate Intake YAML catalogs

Generate Intake YAML catalogs for Firecube products. Use catalog intake to produce a machine-readable catalog that describes a product's storage layout, groups, and storage options for use with the Intake data discovery library.

Usage:

firecube catalog [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

firecube catalog intake

generate an Intake product catalog

Generates an Intake YAML catalog for a supported product store. Discovers dataset groups using the specified plugin and writes a catalog file with source specs and optional storage_options placeholders. Requires --product, --output, and --collection-id.

Usage:

firecube catalog intake [OPTIONS] PLUGIN

Options:

Name Type Description Default
-p, --product text Firecube product URI (file:///abs/path or s3://bucket/key); storage flags inferred from URI scheme. Sentinel.UNSET
-o, --output text Output artifact URI (file:///abs/path); s3:// accepted but runtime support coming later Sentinel.UNSET
--collection-id text explicit collection id for the generated catalog Sentinel.UNSET
--include-storage-options / --no-storage-options boolean include generic storage_options using FIRECUBE_* placeholders True
--storage-driver choice (fsspec | obstore) Storage backend driver. Sentinel.UNSET
--storage-type choice (local | s3) Storage locality/class. Sentinel.UNSET
-h, --help boolean Show this message and exit. False

firecube chunks

inspect and manage chunk records

Inspect and manage tracked chunk records across all products.

firecube tracks chunk state in a product-local control plane (event log, snapshots, claims). use chunks list to inspect, chunks delete to remove storage and records, and chunks runs to review ingestion run history

Usage:

firecube chunks [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
--workspace path local workspace directory to use Sentinel.UNSET
--quiet boolean Suppress storage configuration banner. False
-h, --help boolean Show this message and exit. False

firecube chunks claims

manage write-coordination claims

inspect and manage chunk write claims.

Usage:

firecube chunks claims [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False
firecube chunks claims clear

clear a blocking write claim

clear a blocking write-coordination claim for a product and domain. claims are normally released when a writer exits cleanly; use this when a crashed process left a stale claim that blocks ingestion. verify the original writer is no longer running first.

--all-stale never prompts. without --yes-i-really-mean-it it lists the stale claims as a dry run; with the flag it clears them. single-claim operations prompt in a terminal and require the flag in non-TTY contexts.

--force bypasses the is_stale check for single active claims.

Usage:

firecube chunks claims clear [OPTIONS]

Options:

Name Type Description Default
-n, --product-name text full product URI Sentinel.UNSET
--domain text full write-domain identifier Sentinel.UNSET
--all-stale boolean preview all stale claims for the product; clear them only with --yes-i-really-mean-it (mutually exclusive with --domain) False
--workspace path workspace directory override Sentinel.UNSET
--force boolean operational bypass: clear even if the claim is still active (skips is_stale check) False
--dry-run boolean Show what would happen without making any changes. False
--yes-i-really-mean-it boolean Skip confirmation prompts. Required for destructive operations in non-TTY. False
-h, --help boolean Show this message and exit. False
firecube chunks claims list

list active write claims

list active write-coordination claims for one or all products. claims are short-lived locks written to .firecube/claims/ to coordinate concurrent writes. stale claims from crashed processes can block ingestion -- use claims clear to release them

Usage:

firecube chunks claims list [OPTIONS]

Options:

Name Type Description Default
-n, --product-name text full product URI to inspect Sentinel.UNSET
--workspace path workspace directory override Sentinel.UNSET
-f, --format choice (table | json) output format table
-h, --help boolean Show this message and exit. False

firecube chunks delete

delete chunks and storage data

delete chunk records and storage data tracked in the .firecube/ control plane. CAUTION: this operation is destructive and cannot be undone -- it removes both control-plane records and the underlying storage files. use --dry-run to preview deletions before committing

Usage:

firecube chunks delete [OPTIONS]

Options:

Name Type Description Default
--pattern text glob pattern to match chunk keys (can specify multiple) Sentinel.UNSET
-n, --product-name text Full product URI to delete from. Sentinel.UNSET
--all-products boolean Apply to all products (mutually exclusive with --product-name). False
--end-date text delete chunks created before date (YYYY-MM-DD) Sentinel.UNSET
--start-date text delete chunks created after date (YYYY-MM-DD) Sentinel.UNSET
--range text delete chunks in date range (YYYY-MM-DD,YYYY-MM-DD) Sentinel.UNSET
--type text filter by chunk type (chunk, meta) Sentinel.UNSET
--meta text filter by tracked chunk metadata key=value (value may be JSON) Sentinel.UNSET
--workspace path workspace directory override Sentinel.UNSET
--manifest-only boolean remove tracked chunk records only, keep storage files False
--storage-only boolean delete from storage only, keep tracked chunk records False
--yes-i-really-mean-it boolean skip confirmation prompts False
--dry-run boolean show what would be deleted without doing it False
--include-metadata boolean include metadata chunks (zarr.json, etc.) - DANGEROUS! False
-h, --help boolean Show this message and exit. False

firecube chunks delete-span

delete storage chunks from a span

delete storage chunks described by specific tracked span records. removes data written as part of a particular ingestion span or run. CAUTION: data removed from storage cannot be recovered -- use --dry-run first

Usage:

firecube chunks delete-span [OPTIONS]

Options:

Name Type Description Default
-n, --product-name text full product URI to delete spans from Sentinel.UNSET
--run-id text filter span records by run_id Sentinel.UNSET
--batch-id text filter span records by batch_id Sentinel.UNSET
-g, --group text filter by group (e.g. F120) Sentinel.UNSET
--meta text filter by tracked span metadata key=value (value may be JSON) Sentinel.UNSET
--include-replaced boolean include spans already marked replaced (useful to retry deletions after a partial failure) False
--workspace path workspace directory override Sentinel.UNSET
--time-dim text time dimension name for cubes written with a custom time_dim_name; only needed when span records predate dim recording and the cube has no timestamp-state array (must match the cube layout) Sentinel.UNSET
--dry-run boolean show what would be deleted without doing it False
--force boolean allow deletion even when spans are not chunk-aligned False
--yes-i-really-mean-it boolean skip confirmation prompts False
-h, --help boolean Show this message and exit. False

firecube chunks list

list tracked chunk records

list chunk records tracked in the .firecube/ control plane for one or all products. filter by product, date range, span, or chunk type. supports table and JSON output for scripting

Usage:

firecube chunks list [OPTIONS]

Options:

Name Type Description Default
--pattern text glob pattern to match chunk keys (can specify multiple) Sentinel.UNSET
-n, --product-name text full product URI to inspect Sentinel.UNSET
--end-date text show chunks created before date (YYYY-MM-DD) Sentinel.UNSET
--start-date text show chunks created after date (YYYY-MM-DD) Sentinel.UNSET
--time-range text filter spans by time range START:END (ISO8601); matches spans overlapping the window None
--type text filter by chunk type (chunk, meta) Sentinel.UNSET
--meta text filter by tracked chunk metadata key=value (value may be JSON) Sentinel.UNSET
--workspace path workspace directory override (local path) Sentinel.UNSET
-f, --format choice (table | json | csv) output format table
--limit integer limit number of results Sentinel.UNSET
--include-span boolean include span coverage payload (time_index_ranges, arrays, alignment) in output False
-h, --help boolean Show this message and exit. False

firecube chunks runs

manage ingestion run records

inspect and manage tracked chunk runs.

Usage:

firecube chunks runs [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False
firecube chunks runs abandon

mark a stuck run as abandoned

mark a non-terminal ingestion run as abandoned to unblock resume. a run stuck in 'started' state blocks future ingestion for that product. use this after confirming the original process is no longer active.

--all-stale never prompts. without --yes-i-really-mean-it it lists stale runs as a dry run; with the flag it abandons them. single-run operations prompt in a terminal and require the flag in non-TTY contexts.

Usage:

firecube chunks runs abandon [OPTIONS]

Options:

Name Type Description Default
-n, --product-name text full product URI Sentinel.UNSET
--run-id text run identifier (mutually exclusive with --all-stale) None
--all-stale boolean preview all stale non-terminal runs for the product; abandon them only with --yes-i-really-mean-it (mutually exclusive with --run-id) False
--reason text operator reason for abandonment Sentinel.UNSET
--workspace path workspace directory override Sentinel.UNSET
--dry-run boolean Show what would happen without making any changes. False
--yes-i-really-mean-it boolean Skip confirmation prompts. Required for destructive operations in non-TTY. False
-h, --help boolean Show this message and exit. False
firecube chunks runs list

list tracked ingestion runs

list tracked ingestion runs for a product from the .firecube/ control plane. shows run status (started, complete, failed, abandoned), timestamps, and span counts. use to identify stuck or failed runs before abandoning

Usage:

firecube chunks runs list [OPTIONS]

Options:

Name Type Description Default
-n, --product-name text full product URI Sentinel.UNSET
--status text filter runs by status (started, complete, failed, abandoned) None
--workspace path workspace directory override Sentinel.UNSET
-f, --format choice (table | json) output format table
-h, --help boolean Show this message and exit. False

firecube chunks snapshots

manage control-plane snapshots

rebuild derived chunk snapshots.

Usage:

firecube chunks snapshots [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False
firecube chunks snapshots rebuild

rebuild the chunk snapshot

rebuild the derived chunk snapshot for a product from the chunk event log. snapshots are cached read models; use after the snapshot is missing, corrupt, or very stale to restore fast query performance for chunks list

Usage:

firecube chunks snapshots rebuild [OPTIONS]

Options:

Name Type Description Default
-n, --product-name text full product URI to rebuild into a fresh chunk snapshot Sentinel.UNSET
--workspace path workspace directory override Sentinel.UNSET
-f, --format choice (table | json) output format table
--dry-run boolean Show what would happen without making any changes. False
-h, --help boolean Show this message and exit. False
firecube chunks snapshots status

show snapshot age and status

show snapshot age and status for a product's .firecube/ control plane. reports whether the snapshot exists, how many events it covers, and when it was last rebuilt. use to decide whether a rebuild is needed

Usage:

firecube chunks snapshots status [OPTIONS]

Options:

Name Type Description Default
-n, --product-name text full product URI to check snapshot status for Sentinel.UNSET
--workspace path workspace directory override Sentinel.UNSET
-f, --format choice (table | json) output format table
-h, --help boolean Show this message and exit. False

firecube completion

generate shell completion scripts

Generates a shell completion script for firecube for bash, zsh, or fish. Run the output through eval in your shell profile to enable tab completion for all firecube commands and options.

Usage:

firecube completion [OPTIONS] {bash|zsh|fish}

Options:

Name Type Description Default
--output path write the completion script to a file instead of stdout Sentinel.UNSET
-h, --help boolean Show this message and exit. False

firecube ingest

run an ingestion job for a plugin

The plugin handles source reading; firecube manages write strategy (staged or direct), pipeline parallelism, and chunk tracking. Use --option to pass plugin-specific overrides, or --show-options to list available options for a plugin.

Usage:

firecube ingest [OPTIONS] PLUGIN

Options:

Name Type Description Default
-i, --input-data text Raw plugin input data: local path, file:///abs/path, or s3:// prefix. Interpreted by the plugin. Sentinel.UNSET
-t, --target text Target product URI required (file:///abs/path or s3://bucket/key); -t short available. Sentinel.UNSET
-n, --product-name text Logical product name. Overrides the plugin class default and the per-plugin config default. None
--output-format text output format to deliver (e.g. parquet, zarr) Sentinel.UNSET
--storage-type choice (local | s3) Storage locality/class. Inferred from URI scheme when omitted (file://→local, s3://→s3). Explicit value overrides inference and is rejected on mismatch. Sentinel.UNSET
--storage-driver choice (fsspec | obstore) Storage backend driver. Defaults to fsspec; overridable via FIRECUBE_STORAGE_DRIVER or [storage].driver. Sentinel.UNSET
-w, --write-mode choice (staged | direct) Write strategy (staged=workspace-first, direct=stream to target). Required. No local-target inference. Sentinel.UNSET
--slot-start integer Parallel ingestion: first slot index (inclusive). None
--slot-end integer Parallel ingestion: last slot index (exclusive). None
--slot-size integer Slot size for orchestrated parallel ingestion range derivation. None
--slot-group text Group name this worker owns when running multi-group parallel ingestion. Only workers with matching group are scheduled writes for that group. Defaults to None (all groups — single-group or non-parallel mode). None
--suppress-static-emission-for-non-owner boolean skip writes of static (non-time-indexed) arrays on this worker unless its --slot-start equals --static-owner-slot-start; pass to every fan-out worker so exactly one of them writes shared arrays such as latitude and longitude False
--static-owner-slot-start integer slot-start of the worker that writes static arrays; take the value from the static_owner field in the 'firecube zarr slots --format json' plan and pass the same value to every worker together with --suppress-static-emission-for-non-owner None
--in-memory boolean use in-memory DuckDB False
--option TYPED_OPTION Plugin/engine option in key=value form. Sentinel.UNSET
--show-options boolean show available options for the specified plugin and exit False
-h, --help boolean Show this message and exit. False

firecube parquet

validate and consolidate Parquet datasets

Validation and consolidation of Parquet datasets. Use parquet validate to check file integrity and parquet consolidate to merge scattered files into a single optimized file.

Usage:

firecube parquet [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

firecube parquet consolidate

merge Parquet files into one

Merges a scattered Parquet dataset into a single optimized file using DuckDB. Reads all .parquet files under the product path and writes a single consolidated file with the specified codec. The source dataset is not modified.

Usage:

firecube parquet consolidate [OPTIONS]

Options:

Name Type Description Default
-p, --product text Firecube product URI (file:///abs/path or s3://bucket/key); storage flags inferred from URI scheme. Sentinel.UNSET
-o, --output text Output artifact URI (file:///abs/path); s3:// accepted but runtime support coming later Sentinel.UNSET
--codec text compression codec (default: zstd) zstd
--storage-type choice (local | s3) Storage locality/class. Sentinel.UNSET
--storage-driver choice (fsspec | obstore) Storage backend driver. Sentinel.UNSET
-h, --help boolean Show this message and exit. False

firecube parquet validate

validate Parquet files

Checks PAR1 magic bytes at head and tail. Scans all .parquet files under the product path and reports any missing or corrupt files. Read-only; does not modify any data.

Usage:

firecube parquet validate [OPTIONS]

Options:

Name Type Description Default
-p, --product text Firecube product URI (file:///abs/path or s3://bucket/key); storage flags inferred from URI scheme. Sentinel.UNSET
--storage-type choice (local | s3) Storage locality/class. Sentinel.UNSET
--storage-driver choice (fsspec | obstore) Storage backend driver. Sentinel.UNSET
-h, --help boolean Show this message and exit. False

firecube plugins

inspect installed ingestion plugins

Plugins are discovered via Python entry points (firecube.plugins); use plugins list to see what is installed and plugins describe to explore a plugin's options.

Usage:

firecube plugins [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

firecube plugins create

create a new plugin project structure

Usage:

firecube plugins create [OPTIONS] NAME

Options:

Name Type Description Default
--target-dir path target directory (default: current directory) /home/runner/work/firecube/firecube
--author text author name Sentinel.UNSET
--email text author email Sentinel.UNSET
--license text license type (e.g. MIT, Apache-2.0) Sentinel.UNSET
--template choice (zarr | parquet | base) ingestor template to use (default: zarr) Sentinel.UNSET
--write-strategy choice (xarray | zarr-python) Zarr write strategy: 'xarray' (default, append-based) or 'zarr-python' (direct region writes) Sentinel.UNSET
--non-interactive boolean do not ask interactive questions False
-h, --help boolean Show this message and exit. False

firecube plugins describe

show metadata and config for a plugin

Displays all available ingestion options with their types, defaults, and descriptions. Useful for discovering what --option keys are accepted by firecube ingest.

Usage:

firecube plugins describe [OPTIONS] PLUGIN

Options:

Name Type Description Default
-f, --format choice (table | json | csv) N/A table
-h, --help boolean Show this message and exit. False

firecube plugins explain

explain a specific config option

Explains a config option for a plugin by its dotted path. Shows type, default, description, and allowed values for a single option field. The path format is .. (e.g. example_plugin.ingest.option).

Usage:

firecube plugins explain [OPTIONS] PATH

Options:

Name Type Description Default
-f, --format choice (table | json | csv) N/A table
-h, --help boolean Show this message and exit. False

firecube plugins install

install plugin packages

This is a wrapper around 'uv pip install'.

PACKAGE SPECIFIERS (passed through to uv pip install) - Distribution name: firecube-example-plugin - Local path (directory, wheel, or sdist): /path/to/firecube-example-plugin ./dist/firecube_example_plugin-0.1.0-py3-none-any.whl - Git URL (https or ssh): git+https://example.com/org/firecube-example-plugin.git git+ssh://git@example.com/org/firecube-example-plugin.git

EXAMPLES - Install from index: firecube plugins install firecube-example-plugin - Install from a local checkout: firecube plugins install /path/to/firecube-example-plugin - Install from git: firecube plugins install git+ssh://git@example.com/org/firecube-example-plugin.git - Editable install (local or VCS): firecube plugins install --editable /path/to/firecube-example-plugin

Usage:

firecube plugins install [OPTIONS] PACKAGES...

Options:

Name Type Description Default
-e, --editable boolean install in editable mode (equivalent to 'uv pip install -e ...') False
-h, --help boolean Show this message and exit. False

firecube plugins list

list all registered plugins

Lists all registered ingestion plugins discovered via entry points. Shows plugin name, module path, and a short description for each installed plugin. Use -f to control output format.

Usage:

firecube plugins list [OPTIONS]

Options:

Name Type Description Default
-f, --format choice (table | json | csv) N/A table
-h, --help boolean Show this message and exit. False

firecube plugins uninstall

uninstall a plugin

Resolves the plugin name to its distribution package and uninstalls it.

Usage:

firecube plugins uninstall [OPTIONS] PLUGIN

Options:

Name Type Description Default
--dist text bypass resolution and uninstall this distribution package directly Sentinel.UNSET
-h, --help boolean Show this message and exit. False

firecube zarr

Manage Zarr products

Validate, build multi-resolution pyramids, pre-allocate arrays for parallel ingestion, and plan chunk-aligned slot ranges. Use zarr validate to check structural consistency, zarr multires to build downsampled layers, and zarr slots to emit parallel ingestion plans.

Usage:

firecube zarr [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False

firecube zarr compare

Compare two Zarr stores and exit 3 when they differ.

Usage:

firecube zarr compare [OPTIONS] A_URI B_URI

Options:

Name Type Description Default
--storage-type choice (local | s3) Storage locality for both store URIs. Sentinel.UNSET
--storage-driver choice (fsspec | obstore) Storage driver for both store URIs. Sentinel.UNSET
-h, --help boolean Show this message and exit. False

firecube zarr consolidate-time-coord

Consolidate time coordinate chunks from per-slot storage to dense storage.

Use this command on existing cubes produced before dense time-coordinate materialization. After consolidation, the time coordinate is stored in a denser chunk layout so object storage opens the cube with less metadata work.

Consolidation seals the cube. After it completes, the cube becomes read-only for further ingest. The operation is irreversible without a restore from backup.

The rewrite stages the new coordinate as a time.consolidating sibling before replacing the original array. If a local consolidation is interrupted, re-run the command: it detects the partial state, repairs it, and preserves the coordinate values.

Use it for existing cubes with chunks=(1,) on the time coordinate. Always run with --dry-run first.

Usage:

firecube zarr consolidate-time-coord [OPTIONS]

Options:

Name Type Description Default
--target text URI of the Zarr cube to consolidate. Sentinel.UNSET
--product-name text Logical product name. Sentinel.UNSET
--storage-type choice (local | s3) Storage backend type. Sentinel.UNSET
--storage-driver choice (fsspec | obstore) Storage driver. Sentinel.UNSET
--dry-run boolean Report proposed changes without mutating the store. False
--chunk-size integer Override the consolidated coordinate chunk size (default: computed from the axis length). None
--time-dim text Explicit time-dimension name for cubes written with a custom time_dim_name (plugin BaseIngestor.time_dim_name ClassVar). When omitted, the effective name is discovered per group from the resolved-index record (params.coordinate) and then from the group's 1-D datetime coord arrays. Pass this when discovery cannot settle on a single candidate or must be overridden. None
-h, --help boolean Show this message and exit. False

firecube zarr index

Inspect resolved-index control-plane records.

Usage:

firecube zarr index [OPTIONS] COMMAND [ARGS]...

Options:

Name Type Description Default
-h, --help boolean Show this message and exit. False
firecube zarr index rebuild

Rebuild the resolved-index record from a plugin declaration.

Usage:

firecube zarr index rebuild [OPTIONS]

Options:

Name Type Description Default
--target text Product Zarr URI to rebuild the index for. Sentinel.UNSET
--plugin text Plugin name used to resolve the index spec. Sentinel.UNSET
--product-name text Logical product name. Sentinel.UNSET
-h, --help boolean Show this message and exit. False
firecube zarr index show

Show the current resolved-index record.

Usage:

firecube zarr index show [OPTIONS]

Options:

Name Type Description Default
--target text Product Zarr URI to inspect. Sentinel.UNSET
--product-name text Logical product name. Sentinel.UNSET
--json boolean Emit the raw record as JSON. False
--derived / --no-derived boolean Compute and display derived coordinates for RegularTimeAxis groups at read time. No-op for IrregularTimeAxis and IntegerAxis groups. NEVER persists anything. False
-h, --help boolean Show this message and exit. False
firecube zarr index verify

Verify the current resolved-index record and mirrored root attr.

Usage:

firecube zarr index verify [OPTIONS]

Options:

Name Type Description Default
--target text Product Zarr URI to inspect. Sentinel.UNSET
--product-name text Logical product name. Sentinel.UNSET
--plugin text Optional plugin name to compare against. Sentinel.UNSET
-h, --help boolean Show this message and exit. False

firecube zarr multires

Build multi-resolution Zarr pyramid for an existing product.

Usage:

firecube zarr multires [OPTIONS]

Options:

Name Type Description Default
-t, --target text Target product URI required (file:///abs/path or s3://bucket/key); scheme must match --storage-type. Sentinel.UNSET
--resolutions, -r float Resolution levels to build (repeatable, e.g. -r 1.0 -r 0.5). Sentinel.UNSET
--product-name text Logical product name. Sentinel.UNSET
--storage-type choice (local | s3) Storage locality/class. Inferred from URI scheme when omitted (file://→local, s3://→s3). Sentinel.UNSET
--storage-driver choice (fsspec | obstore) Storage backend driver. Sentinel.UNSET
-h, --help boolean Show this message and exit. False

firecube zarr preallocate

Pre-allocate Zarr arrays for parallel ingestion.

Idempotent: if arrays already exist with matching shape, dtype, and chunks, this command is a no-op. If arrays exist with mismatched schema, exits non-zero with a diff showing expected vs found values. Safe to re-run.

Usage:

firecube zarr preallocate [OPTIONS] PLUGIN

Options:

Name Type Description Default
--target text Target product URI required (file:///abs/path or s3://bucket/key). Sentinel.UNSET
--product-name text Logical product name. Sentinel.UNSET
--storage-type choice (local | s3) Storage locality. Inferred from URI scheme when omitted (file://→local, s3://→s3). Sentinel.UNSET
--storage-driver choice (fsspec | obstore) N/A Sentinel.UNSET
-w, --write-mode choice (staged | direct) N/A Sentinel.UNSET
-i, --input-data text Raw plugin input data: local path, file:///abs/path, or s3:// prefix. Interpreted by the plugin. None
--slot-start integer Preallocate coordinate materialization window: first slot index (inclusive). None
--slot-end integer Preallocate coordinate materialization window: last slot index (exclusive). None
--option TYPED_OPTION Plugin/engine option in key=value form. Sentinel.UNSET
--dry-run / --no-dry-run boolean Perform discovery and manifest computation only. Prints the resolved-index manifest as JSON to stdout. Makes zero filesystem mutations: no arrays are created, no index files are written, no claims are acquired. False
-h, --help boolean Show this message and exit. False

firecube zarr slots

Emit chunk-aligned slot ranges for orchestrated parallel ingestion.

Read-only: does NOT mutate target storage or tracking state. JSON output is Argo withItems / Kubeflow ParallelFor compatible.

Usage:

firecube zarr slots [OPTIONS] PLUGIN

Options:

Name Type Description Default
--target text Target product URI required (file:///abs/path or s3://bucket/key). Sentinel.UNSET
--product-name text Logical product name. Sentinel.UNSET
--storage-type choice (local | s3) Storage locality/class. Inferred from URI scheme when omitted (file://→local, s3://→s3). Sentinel.UNSET
--storage-driver choice (fsspec | obstore) Storage backend driver. Sentinel.UNSET
-w, --write-mode choice (staged | direct) Write mode. Sentinel.UNSET
--input-data text Source input URI or path for AUTO discovery (optional). None
--slot-size integer Slot partition size (default: chunk_shape[0] of first array of first group). None
--no-resume boolean Disable resume-aware narrowing; emit full [0, total_slots) ranges. False
-f, --format choice (table | json | csv) Output format. json
--option TYPED_OPTION Plugin/engine option in key=value form. Sentinel.UNSET
-h, --help boolean Show this message and exit. False

firecube zarr validate

validate a Zarr array group

Checks dimension shapes, dtypes, chunk boundaries, and required metadata without modifying any data. Requires --product and --group; exits with a structured JSON summary.

Usage:

firecube zarr validate [OPTIONS]

Options:

Name Type Description Default
-p, --product text Firecube product URI (file:///abs/path or s3://bucket/key); storage flags inferred from URI scheme. Sentinel.UNSET
-g, --group text relative group path inside the product (e.g. F024/FWI) Sentinel.UNSET
--timeout float wall-clock timeout in seconds for chunk validation None
--max-chunks integer maximum number of chunks to process before stopping None
--on-timeout choice (warn | fail) behavior when budget is exceeded: warn returns partial report, fail raises an error warn
--storage-driver choice (fsspec | obstore) Storage backend driver. Sentinel.UNSET
--storage-type choice (local | s3) Storage locality/class. Sentinel.UNSET
-h, --help boolean Show this message and exit. False