Skip to content

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 install 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. Hopefully Eozilla can support and will be supported by other future projects.