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

Uploaded Python 3

File details

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

File metadata

  • Download URL: firecube-0.1.4.post1.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.post1.tar.gz
Algorithm Hash digest
SHA256 1e10a68c5ccc6da3d36c01ad6abefca469122d79b0295f135f12c1b9da60de73
MD5 fdc42252a018d0692afae778ed829204
BLAKE2b-256 423ea6ba7aea113c597d479668deffbad067f3189d8ca81ca1baba2a1b6dc4b7

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: firecube-0.1.4.post1-py3-none-any.whl
  • Upload date:
  • Size: 472.2 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.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 186c7f8b12008329d6eb583c23b846633c7242223cec80c04967ce182c01f4a4
MD5 2baeb98fcf4c9e6c88c5492a1b84767a
BLAKE2b-256 786f2f06dc3bd1c7412bedbd836b6014712006ba8e616baf454c77183cabada1

See more details on using hashes here.

Provenance

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

This release

0.1.4.post1 This release

2 files

0.1.4.post0

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