Skip to main content

Firecube Logo

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

Documentation | Quickstart | Plugin Development

Installation

Firecube requires Python 3.12+. Install the released package from PyPI in an isolated environment:

mkdir firecube-quickstart
cd firecube-quickstart
uv venv --python 3.12
source .venv/bin/activate
uv pip install firecube
firecube --version

See the Installation guide for the user quickstart. To change Firecube itself, use the setup in Contributing to Firecube.

Use A Plugin

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

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

Then follow the plugin documentation for its source data and options. Ingestion requires a target and write mode, plus a product name from the command or plugin class. This example also spells out the storage and output choices:

firecube ingest <plugin> \
  --input-data ./source-data \
  --target "file://${PWD}/my_product.zarr" \
  --product-name my_product \
  --storage-type local \
  --storage-driver fsspec \
  --output-format zarr \
  --write-mode direct
# use another supported storage driver explicitly
firecube ingest <plugin> \
  --input-data ./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.5 MIT https://github.com/duckdb/duckdb-python Direct dependency.
pandas 3.0.5 BSD-3-Clause https://pandas.pydata.org Direct dependency.
numpy 2.5.0 BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0 https://numpy.org Direct dependency; the additional licences cover components bundled in the numpy distribution.
pyarrow 25.0.1 Apache-2.0 https://arrow.apache.org/ Direct dependency.
xarray 2026.7.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.26.0 Apache-2.0 AND BSD-2-Clause https://github.com/prometheus/client_python Direct dependency.
opentelemetry-sdk 1.44.0 Apache-2.0 https://github.com/open-telemetry/opentelemetry-python/tree/main/opentelemetry-sdk Direct dependency.
opentelemetry-exporter-otlp 1.44.0 Apache-2.0 https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp Direct dependency.
click 8.4.2 BSD-3-Clause https://github.com/pallets/click Direct dependency.
packaging 26.2 Apache-2.0 OR BSD-2-Clause https://github.com/pypa/packaging Direct dependency; dual-licensed, either licence may be used.
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.2.1 Apache-2.0 https://pypi.org/project/healpix-geo/ Direct optional healpix extra dependency.
trollsift 1.0.1 Apache-2.0 https://pypi.org/project/trollsift/ Direct optional patterns extra dependency.
virtualizarr 2.7.1 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.32.0 Development tools MIT https://hatch.pypa.io/latest/ Build backend dependency.
trollsift 1.0.1 Development tools Apache-2.0 https://pypi.org/project/trollsift/ Direct optional test extra 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.2.1 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.
griffelib 2.1.0 Development tools ISC https://pypi.org/project/griffelib/ Direct optional test extra dependency; static docstring inspection for the API docs coverage test.
pytest 9.1.1 Development tools MIT https://docs.pytest.org/en/latest/ Direct dev dependency group entry.
ruff 0.16.5 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.7 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.
mkdocstrings-python 2.0.5 Development tools ISC https://mkdocstrings.github.io/python 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.
mike 2.2.0 Development tools BSD-3-Clause https://github.com/jimporter/mike Direct docs dependency group entry.
mkdocs-jupyter 0.26.3 Development tools Apache-2.0 https://github.com/danielfrg/mkdocs-jupyter Direct docs dependency group entry.

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.

Metadata

Release files for firecube 0.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for firecube 0.1.6
File Size Uploaded
firecube-0.1.6.tar.gz 2.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for firecube 0.1.6
File Interpreter ABI Platform
firecube-0.1.6-py3-none-any.whl Python 3 none any Details

Total release size: 3.2 MB

Release files / firecube-0.1.6.tar.gz

Download URL firecube-0.1.6.tar.gz
Size 2.5 MB
Tags Source
SHA-256 checksum
How to use checksums
113fb585949430f65fd7e8e3681686a77601bde817f89c60e6f2f9dbc12c8409
BLAKE2b-256 checksum
How to use checksums
3227f6f95eee28ff660762fba2ecdd9077bce50b9a55480a5e9673b7a86c6806
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Release files / firecube-0.1.6-py3-none-any.whl

Download URL firecube-0.1.6-py3-none-any.whl
Size 672.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e80ad5b8d7c2039665f4176230f9aa50be894ed6192c65b233adeff18ee7c527
BLAKE2b-256 checksum
How to use checksums
df4622b8ea392455c26f0a3a51b5923d06c2fdade730d0282c7c859c7f0189d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.7

2 release files

This release

0.1.6 This release

2 release files

0.1.5

2 release files

0.1.4

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page