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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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:
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.
--force bypasses the is_stale check (operational bypass for active claims). --yes-i-really-mean-it is the confirmation flag, required in non-TTY contexts.
Usage:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
-n, --product-name |
text | product owning the claim | Sentinel.UNSET |
--domain |
text | full write-domain identifier | Sentinel.UNSET |
--all-stale |
boolean | clear all stale claims for the product (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:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
-n, --product-name |
text | filter by product name | 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:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--pattern |
text | glob pattern to match chunk keys (can specify multiple) | Sentinel.UNSET |
-n, --product-name |
text | Filter by product name. | 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:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
-n, --product-name |
text | target product (e.g. product.zarr) | 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:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--pattern |
text | glob pattern to match chunk keys (can specify multiple) | Sentinel.UNSET |
-n, --product-name |
text | filter by product name | 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:
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
Usage:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
-n, --product-name |
text | product owning the run | Sentinel.UNSET |
--target |
text | Explicit product target URI (file://... or s3://...). Overrides config/env backend resolution. Use when --product-name alone resolves to the wrong backend (e.g. after moving a product or when config points elsewhere). | None |
--run-id |
text | run identifier (mutually exclusive with --all-stale) | None |
--all-stale |
boolean | abandon all stale non-terminal runs for the product (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:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
-n, --product-name |
text | product to inspect | Sentinel.UNSET |
--target |
text | Explicit product target URI (file://... or s3://...). Overrides config/env backend resolution. Use when --product-name alone resolves to the wrong backend (e.g. after moving a product or when config points elsewhere). | None |
--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:
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:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
-n, --product-name |
text | product 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:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
-n, --product-name |
text | product 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:
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:
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 |
--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:
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:
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:
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:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
-h, --help |
boolean | Show this message and exit. | False |
firecube plugins create
create a new plugin project structure
Usage:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
--target-dir |
path | target directory (default: current directory) | /home/armagan/projects/opensource/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 (base | zarr | parquet) |
ingestor template to use | 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:
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
Usage:
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:
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:
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:
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:
Options:
| Name | Type | Description | Default |
|---|---|---|---|
-h, --help |
boolean | Show this message and exit. | False |
firecube zarr multires
Build multi-resolution Zarr pyramid for an existing product.
Usage:
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:
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 |
--option |
TYPED_OPTION | Plugin/engine option in key=value form. | Sentinel.UNSET |
-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:
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 |
--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 |
-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:
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 |
Bulk Sweep: --all-stale
Both firecube chunks claims clear and firecube chunks runs abandon support
--all-stale for sweeping every stale entry for a product in one command. Use
this after a cluster crash or pod eviction leaves multiple stuck runs or claims
behind.
Safety gate: --yes-i-really-mean-it
Both commands require explicit confirmation before mutating anything. In an
interactive terminal you get a prompt. In a non-TTY context (CI, scripts,
cron) the command exits with an error unless you pass
--yes-i-really-mean-it. This prevents accidental bulk mutations from
copy-pasted commands or automation that runs without human review.
--dry-run always works without the confirmation flag. Use it first to see
exactly what would change.
chunks claims clear --all-stale
Clears every stale write-coordination claim for a product. A claim is considered stale when the writer that created it is no longer active.
--all-stale and --domain are mutually exclusive. Pass one or the other,
not both.
Step 1: preview the sweep
Expected output:
Step 2: commit the sweep
Expected output:
Verify:
Expected output when all claims are gone:
chunks runs abandon --all-stale
Marks every non-terminal run for a product as abandoned. A run stuck in
started state blocks future ingestion for that product.
--all-stale and --run-id are mutually exclusive. Pass one or the other,
not both.
--reason is required even in bulk mode. It records why the runs were
abandoned and appears in the run history.
Step 1: preview the sweep
firecube chunks runs abandon \
--product-name MY_PRODUCT \
--all-stale \
--reason "cluster-crash" \
--dry-run
Expected output:
Step 2: commit the sweep
firecube chunks runs abandon \
--product-name MY_PRODUCT \
--all-stale \
--reason "cluster-crash" \
--yes-i-really-mean-it
Expected output:
Verify:
Expected output when no stuck runs remain:
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
--all-stale and --domain are mutually exclusive |
Both flags passed to claims clear |
Remove --domain when using --all-stale |
--all-stale and --run-id are mutually exclusive |
Both flags passed to runs abandon |
Remove --run-id when using --all-stale |
--reason is required |
runs abandon --all-stale called without --reason |
Add --reason "<description>" |
| Command exits without mutating in non-TTY | --yes-i-really-mean-it not passed |
Add --yes-i-really-mean-it or run --dry-run first |
| No stale entries found | All claims/runs are already terminal or active | Run firecube chunks claims list or firecube chunks runs list to inspect current state |