Skip to main content

Firecube Logo

Plugin-driven CLI for turning Earth Observation products into analysis-ready datacubes

Documentation | Quickstart | Create a Plugin | Plugin Tutorial

Installation

Firecube requires Python 3.12+. We recommend using uv for lightning-fast dependency management and isolated environments.

1. Clone the Repository

Clone the core Firecube ingestor repository:

git clone https://github.com/eumetsat/firecube.git
cd firecube

2. Setup Environment

Use uv to install dependencies and prepare the virtual environment:

uv venv --python 3.12
uv sync

3. Verify CLI

Confirm the installation by checking the version:

uv run firecube --version

Use A Plugin

Install an external plugin using the package name or local checkout documented by that plugin:

uv run firecube plugins install <plugin-package>
uv run firecube plugins list
uv run firecube plugins describe <plugin>

Then follow the plugin documentation for its source data and options. Firecube ingest commands always require explicit product flags; storage settings are inferred from the URI scheme by default:

uv run firecube ingest <plugin> \
  --input-data file://${PWD}/source-data \
  --target "file://${PWD}/my_product.zarr" \
  --product-name my_product \
  --output-format zarr \
  --write-mode direct
# explicit storage override if needed
uv run firecube ingest <plugin> \
  --input-data file://${PWD}/source-data \
  --target "file://${PWD}/my_product.zarr" \
  --product-name my_product \
  --storage-type local \
  --storage-driver obstore \
  --output-format zarr \
  --write-mode direct

For the full first-run path, use the Quickstart.

Documentation

Build or serve the docs locally:

uv sync --group docs
uv run mkdocs serve
uv run mkdocs build

Development

Install test extras and run the main local gate:

uv sync --extra test
uv run pytest --strict-deps -m "not slow and not s3"

Software Bill Of Materials

Regenerate the CycloneDX 1.5 SBOM and the dependency-license report locally with:

mkdir -p reports
uv export --format cyclonedx1.5 --all-groups --all-extras --output-file reports/sbom.cdx.json
uv run --isolated --all-groups --all-extras --with hatchling --with pip-licenses pip-licenses --format=json --with-urls > reports/dependency-licenses.json

The SBOM covers all uv dependency groups and extras. Use the dependency license report and package metadata for license review; do not rely on CycloneDX license fields alone.

Included third-party components: none declared.

Direct Runtime And Optional Dependencies

The following dependencies are not included in the package but are required or available as optional runtime extras:

dependency version license copyright home_url comments
duckdb 1.5.4 MIT https://github.com/duckdb/duckdb-python Direct dependency.
pandas 3.0.3 BSD-3-Clause https://pandas.pydata.org Direct dependency.
numpy 2.5.0 BSD-3-Clause https://numpy.org Direct dependency.
pyarrow 24.0.0 Apache-2.0 https://arrow.apache.org/ Direct dependency.
xarray 2026.4.0 Apache-2.0 https://xarray.dev/ Direct dependency.
zarr 3.2.1 MIT https://github.com/zarr-developers/zarr-python Direct dependency.
psutil 7.2.2 BSD-3-Clause https://github.com/giampaolo/psutil Direct dependency.
fsspec 2026.6.0 BSD-3-Clause https://github.com/fsspec/filesystem_spec Direct dependency.
s3fs 2026.6.0 BSD-3-Clause http://github.com/fsspec/s3fs/ Direct dependency.
botocore 1.43.0 Apache-2.0 https://github.com/boto/botocore Direct dependency.
netcdf4 1.7.4 MIT https://github.com/Unidata/netcdf4-python Direct dependency.
h5netcdf 1.8.1 BSD-3-Clause https://h5netcdf.org Direct dependency.
h5py 3.16.0 BSD-3-Clause https://www.h5py.org/ Direct dependency.
dask 2026.6.0 BSD-3-Clause https://github.com/dask/dask/ Direct dependency.
prometheus-client 0.25.0 Apache-2.0 https://github.com/prometheus/client_python Direct dependency.
opentelemetry-sdk 1.43.0 Apache-2.0 https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-sdk Direct dependency.
opentelemetry-exporter-otlp 1.43.0 Apache-2.0 https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp Direct dependency.
obstore 0.11.0 MIT https://developmentseed.org/obstore Direct optional obstore extra dependency.
tensogram 0.22.0 Apache-2.0 https://sites.ecmwf.int/docs/tensogram/main Direct optional tensogram extra dependency.
tensogram-xarray 0.22.0 Apache-2.0 https://sites.ecmwf.int/docs/tensogram/main Direct optional tensogram extra dependency.
tensogram-zarr 0.22.0 Apache-2.0 https://sites.ecmwf.int/docs/tensogram/main Direct optional tensogram extra dependency.
healpix-geo 0.1.2 Apache-2.0 https://pypi.org/project/healpix-geo/ Direct optional healpix extra dependency.
virtualizarr 2.7.0 Apache-2.0 https://github.com/zarr-developers/VirtualiZarr Direct optional virtualzarr extra dependency.

Direct Build, Edit, And Test Dependencies

The following dependencies are only required for building, editing, documentation, or testing:

dependency version sw type license copyright home_url comments
hatchling 1.30.1 Development tools MIT https://hatch.pypa.io/latest/ Build backend dependency.
tensogram 0.22.0 Development tools Apache-2.0 https://sites.ecmwf.int/docs/tensogram/main Direct optional test extra dependency.
tensogram-xarray 0.22.0 Development tools Apache-2.0 https://sites.ecmwf.int/docs/tensogram/main Direct optional test extra dependency.
tensogram-zarr 0.22.0 Development tools Apache-2.0 https://sites.ecmwf.int/docs/tensogram/main Direct optional test extra dependency.
obstore 0.11.0 Development tools MIT https://developmentseed.org/obstore Direct optional test extra dependency.
healpix-geo 0.1.2 Development tools Apache-2.0 https://pypi.org/project/healpix-geo/ Direct optional test extra dependency.
moto 5.2.2 Development tools Apache-2.0 https://github.com/getmoto/moto Direct optional test extra dependency.
pytest 9.1.1 Development tools MIT https://docs.pytest.org/en/latest/ Direct dev dependency group entry.
ruff 0.15.20 Development tools MIT https://docs.astral.sh/ruff Direct dev dependency group entry.
pytest-cov 7.1.0 Development tools MIT https://pytest-cov.readthedocs.io/en/latest/changelog.html Direct dev dependency group entry.
pytest-xdist 3.8.0 Development tools MIT https://github.com/pytest-dev/pytest-xdist Direct dev dependency group entry.
pytest-mock 3.15.1 Development tools MIT https://github.com/pytest-dev/pytest-mock/ Direct dev dependency group entry.
pytest-asyncio 1.4.0 Development tools Apache-2.0 https://github.com/pytest-dev/pytest-asyncio Direct dev dependency group entry.
pyright 1.1.411 Development tools MIT https://github.com/RobertCraigie/pyright-python Direct dev dependency group entry.
mkdocs 1.6.1 Development tools BSD-2-Clause https://github.com/mkdocs/mkdocs Direct docs dependency group entry.
mkdocs-material 9.7.6 Development tools MIT https://github.com/squidfunk/mkdocs-material Direct docs dependency group entry.
mkdocstrings 1.0.4 Development tools ISC https://mkdocstrings.github.io Direct docs dependency group entry.
mkdocs-mermaid2-plugin 1.2.3 Development tools MIT https://github.com/fralau/mkdocs-mermaid2-plugin Direct docs dependency group entry.
mkdocs-click 0.9.0 Development tools Apache-2.0 https://github.com/mkdocs/mkdocs-click Direct docs dependency group entry.
mkdocs-macros-plugin 1.5.0 Development tools MIT https://github.com/fralau/mkdocs_macros_plugin Direct docs dependency group entry.

Copyright and License

Copyright © EUMETSAT 2025-2026

The provided code and instructions are licensed under Apache License, Version 2.0.

Contact EUMETSAT for details on the usage and distribution terms.

Authors

See AUTHORS.md.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

firecube-0.1.4.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

firecube-0.1.4-py3-none-any.whl (472.0 kB view details)

Uploaded Python 3

File details

Details for the file firecube-0.1.4.tar.gz.

File metadata

  • Download URL: firecube-0.1.4.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for firecube-0.1.4.tar.gz
Algorithm Hash digest
SHA256 eece38ccb4dff8d6f596aa7df21f0ffcbab9248ea67be85f37928c043515d805
MD5 77bf14087be7bd23e8a9f34a98dc695d
BLAKE2b-256 2ef30f5ba0cd2df1d2d3dd586e946440680ee39cc4d04ce5714bd7a5e9f9b96f

See more details on using hashes here.

Provenance

The following attestation bundles were made for firecube-0.1.4.tar.gz:

Publisher: publish.yml on eumetsat/firecube

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file firecube-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: firecube-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 472.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for firecube-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 20fb44fba4d7c6d93d32fc4e0e35eaa9771c5eeab5917e4970700da82ad0f9b6
MD5 f65d0f93a61c3447c85a2c74f928d0ca
BLAKE2b-256 bb2c8a2470ce8b7b03e9223aff067f20823ed628a3f6b499b7bb137f02233d75

See more details on using hashes here.

Provenance

The following attestation bundles were made for firecube-0.1.4-py3-none-any.whl:

Publisher: publish.yml on eumetsat/firecube

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.1.4.post1

2 files

0.1.4.post0

2 files

This release

0.1.4 This release

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page