Skip to main content

OpenEO Processes Dask

Poetry PyPI - Status PyPI Python Version codecov

openeo-processes-dask is a collection of Python implementations of OpenEO processes based on the xarray/dask ecosystem. It is intended to be used alongside with openeo-pg-parser-networkx, which handles the parsing and execution of OpenEO process graphs. There you'll also find a tutorial on how to register process implementations from an arbitrary source (e.g. this repo) to the registry of available processes.

Installation

Conda (recommended — mirrors CI)

Conda-forge provides GDAL system libraries and Python bindings as a single coherent package. Once installed, pip does not need to touch GDAL at all.

conda create -n openeo_processes_dask -c conda-forge python=3.12 gdal
conda activate openeo_processes_dask
pip install openeo-processes-dask[implementations]

Micromamba (lightweight alternative):

micromamba create -n openeo_processes_dask -c conda-forge python=3.12 gdal
micromamba activate openeo_processes_dask
pip install openeo-processes-dask[implementations]

System packages (Ubuntu/Debian)

If you already have GDAL system libraries, pin the pip gdal wheel to the matching version. Ubuntu 24.04 ships GDAL 3.8.4 — the minimum version required for system-level installation:

sudo apt-get install gdal-bin libgdal-dev python3-gdal
pip install "gdal==$(gdal-config --version)" openeo-processes-dask[implementations]

This pin avoids the common mismatch between a pip gdal wheel and your system libgdal. When using conda (above) this is unnecessary because conda-forge provides both the library and the Python binding together.

Note that by default pip install openeo-processes-dask only installs the JSON process specs. In order to install the actual implementations, add the implementations extra as shown in the examples above.


Extra build variants

A subset of process implementations with heavy or unstable dependencies are hidden behind these extras:

  • ML processes:

    pip install openeo-processes-dask[ml]
    

⚠️ Note on GDAL: The implementations extra depends on GDAL transitively via rasterio, rioxarray, odc-stac, and geopandas. Always install GDAL first (via conda-forge or system packages) before pip-installing extras. The ml (xgboost) and deforestation (rqadeforestation) extras do not directly depend on GDAL. This project requires GDAL >=3.8.4 (the version shipped by Ubuntu 24.04) and is CI-tested against conda-forge GDAL on Python 3.10–3.13.

Version-ceiling policy: Library dependencies in pyproject.toml declare only minimum versions (>=X). Any upper bounds (<Y) needed for CI go into [tool.poetry.group.ci.dependencies] (or the conda ci-environment.yml pin) so downstream consumers are never blocked. Install the civersions extra if your environment also needs the ceiling.


Development environment

This package requires at least Poetry 2.2, see their docs for installation instructions.

Clone the repository with --recurse-submodules to also fetch the process specs:

git clone --recurse-submodules git@github.com:Open-EO/openeo-processes-dask.git

Development setup (CI pattern — conda-forge GDAL + Poetry):

# 1. Create conda env with GDAL (mirrors `.github/ci-environment.yml`)
conda create -n openeo_processes_dask_dev -c conda-forge python=3.12 gdal
conda activate openeo_processes_dask_dev

# 2. Install Poetry deps into the conda env
poetry config virtualenvs.create false
poetry install --with dev,ci --all-extras

# 3. Verify GDAL
gdalinfo --version
python -c "from osgeo import gdal; print('GDAL Python:', gdal.__version__)"

poetry config virtualenvs.create false ensures GDAL from conda-forge is visible to pip-installed geospatial packages (rasterio, rioxarray, etc.). Without this, Poetry's isolated venv may not find the conda-forge GDAL libraries.


To add a new core dependency run:

poetry add some_new_dependency

To add a new development dependency run:

poetry add some_new_dependency --group dev

To run the test suite run:

poetry run python -m pytest

Note that you can also use the virtual environment that's generated by poetry as the kernel for the ipynb notebooks.

Pre-commit hooks

This repo makes use of pre-commit hooks to enforce linting & a few sanity checks. In a fresh development setup, install the hooks using poetry run pre-commit install. These will then automatically be checked against your changes before making the commit.

Specs

The json specs for the individual processes are tracked as a git submodule in openeo_processes_dask/specs/openeo-processes. The raw json for a specific process can be imported using from openeo_processes_dask.specs import reduce_dimension.

To bump these specs to a later version use: git -C openeo_processes_dask/specs/openeo-processes checkout <tag> git add openeo_processes_dask/specs/openeo-processes

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openeo_processes_dask-2026.8.2.tar.gz (170.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openeo_processes_dask-2026.8.2-py3-none-any.whl (302.2 kB view details)

Uploaded Python 3

File details

Details for the file openeo_processes_dask-2026.8.2.tar.gz.

File metadata

  • Download URL: openeo_processes_dask-2026.8.2.tar.gz
  • Upload date:
  • Size: 170.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.3 CPython/3.12.14 Linux/6.17.0-1022-azure

File hashes

Hashes for openeo_processes_dask-2026.8.2.tar.gz
Algorithm Hash digest
SHA256 85eaf58d3ef17253db3275280036d6ed6dcb24df60896d3ee7ec37510a237b05
MD5 100a027da5006b20d6e6c6e8b5f3ab4e
BLAKE2b-256 0a2bc15dd64d9af07d67447f4cfcb7acf1c7f6cddf207e39eb38ee81486119a5

See more details on using hashes here.

File details

Details for the file openeo_processes_dask-2026.8.2-py3-none-any.whl.

File metadata

File hashes

Hashes for openeo_processes_dask-2026.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e15f46a73f27e6c64e1872de343b1e5978dc154a8b49737d07c278cabe0d1019
MD5 4ce3895e76d7378a2915d95a38a1bf7c
BLAKE2b-256 45837b6feadfdeaedcfb3c2271af908e5991163baa1f9b83de6b9df43be04ae7

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2026.8.2 This release

2 files

2026.6.4

2 files

2026.6.3

2 files

2026.6.1

2 files

2025.10.1

2 files

2025.9.5

2 files

2025.9.4

2 files

2025.9.3

2 files

2025.9.1

2 files

2025.7.1

2 files

2025.5.1

2 files

2025.4.2

2 files

2025.4.1

2 files

2025.2.1

2 files

2025.1.1

2 files

2024.12.1

2 files

2024.11.5

2 files

2024.11.4

2 files

2024.11.3

2 files

2024.11.2

2 files

2024.11.1

2 files

2024.11.0

2 files

2024.10.3

2 files

2024.10.2

2 files

2024.10.1

2 files

2024.9.0

2 files

2024.8.0

2 files

2024.7.0

2 files

2024.6.0

2 files

2024.5.3

2 files

2024.5.2

2 files

2024.5.1

2 files

2024.5.0

2 files

2024.4.0

2 files

2024.3.0

2 files

2024.2.5

2 files

2024.2.4

2 files

2024.2.3

2 files

2024.2.2

2 files

2024.2.1

2 files

2024.1.3

2 files

2024.1.2

2 files

2024.1.1

2 files

2023.11.6

2 files

2023.11.5

2 files

2023.11.4

2 files

2023.11.3

2 files

2023.11.2

2 files

2023.11.1

2 files

2023.10.9

2 files

2023.10.8

2 files

2023.10.7

2 files

2023.10.6

2 files

2023.10.5

2 files

2023.10.4

2 files

2023.10.3

2 files

2023.10.2

2 files

2023.10.1

2 files

2023.9.2

2 files

2023.9.1

2 files

2023.9.0

2 files

2023.8.1

2 files

2023.8.0

2 files

2023.7.5

2 files

2023.7.4

2 files

2023.7.3

2 files

2023.7.2

2 files

2023.7.1

2 files

2023.7.0

2 files

2023.5.1

2 files

2023.5.0

2 files

2023.4.0

2 files

2023.3.2

2 files

2023.3.1

2 files

2023.3.0

2 files

2023.1.2

2 files

2023.1.1

2 files

2023.1.0

2 files

2022.12.4

2 files

2022.12.3

2 files

2022.12.2

2 files

2022.12.1

2 files

2022.12.0

2 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