# OpenEO Processes Dask
[](https://python-poetry.org/)



[](https://codecov.io/github/Open-EO/openeo-processes-dask)
`openeo-processes-dask` is a collection of Python implementations of [OpenEO processes](https://processes.openeo.org/) based on the [xarray](https://github.com/pydata/xarray)/[dask](https://github.com/dask/dask) ecosystem. It is intended to be used alongside with [openeo-pg-parser-networkx](https://github.com/Open-EO/openeo-pg-parser-networkx), which handles the parsing and execution of [OpenEO process graphs](https://openeo.org/documentation/1.0/developers/api/reference.html#section/Processes/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
Install this project via pip:
```
pip install openeo-processes-dask
```
Note that by default this only installs the json process specs. In order to install the actual implementations, add the `implementations` extra:
```
pip install openeo-processes-dask[implementations]
```
A subset of process implementations with heavy or unstable dependencies are hidden behind these further build variants:
- `openeo_processes_dask/process_implementations/ml`: `pip install openeo-processes-dask[ml]`
- `openeo_processes_dask/process_implementations/experimental`: `pip install openeo-processes-dask[experimental]`
## Development environment
openeo-processes-dask requires poetry >1.2, see their [docs](https://python-poetry.org/docs/#installation) 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
```
To setup the python venv and install this project into it run:
```
poetry install --all-extras
```
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](https://pre-commit.com/) 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`
Raw data
{
"_id": null,
"home_page": "https://github.com/Open-EO/openeo-processes-dask",
"name": "openeo-processes-dask",
"maintainer": "EODC Staff",
"docs_url": null,
"requires_python": "<3.12,>=3.10",
"maintainer_email": "support@eodc.eu",
"keywords": null,
"author": "Lukas Weidenholzer",
"author_email": "lukas.weidenholzer@eodc.eu",
"download_url": "https://files.pythonhosted.org/packages/f6/b1/53d51eacf4404f216af3a39688ffb46716c2c41a7f312aa197e247183537/openeo_processes_dask-2025.7.1.tar.gz",
"platform": null,
"description": "# OpenEO Processes Dask\n\n[](https://python-poetry.org/)\n\n\n\n[](https://codecov.io/github/Open-EO/openeo-processes-dask)\n\n`openeo-processes-dask` is a collection of Python implementations of [OpenEO processes](https://processes.openeo.org/) based on the [xarray](https://github.com/pydata/xarray)/[dask](https://github.com/dask/dask) ecosystem. It is intended to be used alongside with [openeo-pg-parser-networkx](https://github.com/Open-EO/openeo-pg-parser-networkx), which handles the parsing and execution of [OpenEO process graphs](https://openeo.org/documentation/1.0/developers/api/reference.html#section/Processes/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.\n\n## Installation\nInstall this project via pip:\n\n```\npip install openeo-processes-dask\n```\n\nNote that by default this only installs the json process specs. In order to install the actual implementations, add the `implementations` extra:\n\n```\npip install openeo-processes-dask[implementations]\n```\n\nA subset of process implementations with heavy or unstable dependencies are hidden behind these further build variants:\n- `openeo_processes_dask/process_implementations/ml`: `pip install openeo-processes-dask[ml]`\n- `openeo_processes_dask/process_implementations/experimental`: `pip install openeo-processes-dask[experimental]`\n\n## Development environment\nopeneo-processes-dask requires poetry >1.2, see their [docs](https://python-poetry.org/docs/#installation) for installation instructions.\n\nClone the repository with `--recurse-submodules` to also fetch the process specs:\n```\ngit clone --recurse-submodules git@github.com:Open-EO/openeo-processes-dask.git\n```\n\nTo setup the python venv and install this project into it run:\n```\npoetry install --all-extras\n```\n\nTo add a new core dependency run:\n```\npoetry add some_new_dependency\n```\n\nTo add a new development dependency run:\n```\npoetry add some_new_dependency --group dev\n```\n\nTo run the test suite run:\n```\npoetry run python -m pytest\n```\n\nNote that you can also use the virtual environment that's generated by poetry as the kernel for the ipynb notebooks.\n\n### Pre-commit hooks\n\nThis repo makes use of [pre-commit](https://pre-commit.com/) 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.\n\n### Specs\nThe json specs for the individual processes are tracked as a git submodule in `openeo_processes_dask/specs/openeo-processes`.\nThe raw json for a specific process can be imported using `from openeo_processes_dask.specs import reduce_dimension`.\n\nTo bump these specs to a later version use:\n`git -C openeo_processes_dask/specs/openeo-processes checkout <tag>`\n`git add openeo_processes_dask/specs/openeo-processes`\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "Python implementations of many OpenEO processes, dask-friendly by default.",
"version": "2025.7.1",
"project_urls": {
"Homepage": "https://github.com/Open-EO/openeo-processes-dask",
"Repository": "https://github.com/Open-EO/openeo-processes-dask"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "95c0f0c45c056c1f505095a091cbca7ef6f571df920f5a306be4c2d02adf438d",
"md5": "04334a9bf0c314b20a973f6028cdddae",
"sha256": "593311862372b470dded50b2eba4a9dbee4ba5f102918da8b6ad2bd7acb4e46f"
},
"downloads": -1,
"filename": "openeo_processes_dask-2025.7.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "04334a9bf0c314b20a973f6028cdddae",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.12,>=3.10",
"size": 297879,
"upload_time": "2025-07-11T13:48:19",
"upload_time_iso_8601": "2025-07-11T13:48:19.264733Z",
"url": "https://files.pythonhosted.org/packages/95/c0/f0c45c056c1f505095a091cbca7ef6f571df920f5a306be4c2d02adf438d/openeo_processes_dask-2025.7.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f6b153d51eacf4404f216af3a39688ffb46716c2c41a7f312aa197e247183537",
"md5": "15a1f6b98467c27b71275484cf022055",
"sha256": "f33be62861e139858f680ab228435787a1833692e5713e323621f513242ff2ff"
},
"downloads": -1,
"filename": "openeo_processes_dask-2025.7.1.tar.gz",
"has_sig": false,
"md5_digest": "15a1f6b98467c27b71275484cf022055",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.12,>=3.10",
"size": 170242,
"upload_time": "2025-07-11T13:48:20",
"upload_time_iso_8601": "2025-07-11T13:48:20.890202Z",
"url": "https://files.pythonhosted.org/packages/f6/b1/53d51eacf4404f216af3a39688ffb46716c2c41a7f312aa197e247183537/openeo_processes_dask-2025.7.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-11 13:48:20",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Open-EO",
"github_project": "openeo-processes-dask",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "openeo-processes-dask"
}