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.
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.
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
procodileif you develop processor applications,appligatorif you deploy your processor applications,wraptileif you are an OGC API - Processes service provider,cuimanif 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 --helpWe currently package Eozilla only as pip packages distributed via PyPI, but
we will publish conda-forge packages soon.
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.