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.post0.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.post0-py3-none-any.whl (472.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: firecube-0.1.4.post0.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.post0.tar.gz
Algorithm Hash digest
SHA256 6c9a4932e3281c7c57b2e28fb307d329ec50c3d1e324131740ae4e748b12a73a
MD5 7744837d02d758ef1b097aac3e0c4f6f
BLAKE2b-256 a0577a4bcf9e5a95ef102ee3c73b73c666d52dc76753da05a0a57bc65cea14b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for firecube-0.1.4.post0.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.post0-py3-none-any.whl.

File metadata

  • Download URL: firecube-0.1.4.post0-py3-none-any.whl
  • Upload date:
  • Size: 472.1 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.post0-py3-none-any.whl
Algorithm Hash digest
SHA256 a1043ddadeda79df61a7bdf10aae47b0854d272f985aec38ef723ec53172fb2b
MD5 c50764ddaa1e6509cdb699730fa05edb
BLAKE2b-256 ed300ef7315487223092a36ddeef0c098e00c12dcffc81b7bad85f9d28334641

See more details on using hashes here.

Provenance

The following attestation bundles were made for firecube-0.1.4.post0-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

This release

0.1.4.post0 This release

2 files

0.1.4

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