Skip to content

eo-tools/eozilla

CI Codecov Pixi Ruff License

Eozilla 🦖

Eozilla is a suite of tools for workflow orchestration systems and OGC API - Processes implementation.

Eozilla has been developed to cloudify satellite data processor applications and run them in the cloud.

Note: this project and its documentation are still in an early development stage.

Features

The Eozilla suite of tools comprises:

  • Procodile: A simple Python framework for registering and executing processes.
  • Appligator: An EO application bundler and transformer. (Currently limited to generating Airflow DAGs.)
  • Wraptile: A fast and lightweight HTTP server that implements OGC API - Processes for various workflow processing backends, such Airflow or a local executor.
  • Cuiman: A Python client including API, GUI, and CLI for servers compliant with OGC API - Processes.
  • Gavicore: Common pydantic data models and utilities for the packages above.

Installation

The eozilla package installs all components of Eozilla.

pip add eozilla

However, your use case might require only a subset of Eozilla components. Install just

  • procodile if you develop processor applications,
  • appligator if you deploy your processor applications,
  • wraptile if you are an OGC API - Processes service provider,
  • cuiman if you need a client to operate with an OGC API - Processes service.

The easiest way to test Eozilla is in a separate Python environment. We use the pixi here, but you could do the same with pip, conda, or mamba:

mkdir eozilla-test
cd eozilla-test

pixi init
pixi add python
pixi add --pypi eozilla
pixi shell

python -c "import eozilla; print(eozilla.__version__)"

cuiman --help
appligator --help
wraptile --help

We currently package Eozilla only as pip packages distributed via PyPI, but we will publish conda-forge packages soon.

Acknowledgements

Large parts of the work in the Eozilla project have been made possible by the ESA DTE-S2GOS project, where we cloudify a set of EO scene simulator applications. The ESA Sen4CAP project, where we cloudify various Sentinel-based data processors, gave us the impulse to create Eozilla as a set of reusable, standalone packages. Further work on Eozilla has been supported by the Open-Earth-Monitor Cyberinfrastructure project, which has received funding from the European Union's Horizon Europe research and innovation programme under grant agreement No. 101059548.

Hopefully Eozilla can support and will be supported by other future projects.