openeo-processes-dask


Nameopeneo-processes-dask JSON
Version 2025.7.1 PyPI version JSON
download
home_pagehttps://github.com/Open-EO/openeo-processes-dask
SummaryPython implementations of many OpenEO processes, dask-friendly by default.
upload_time2025-07-11 13:48:20
maintainerEODC Staff
docs_urlNone
authorLukas Weidenholzer
requires_python<3.12,>=3.10
licenseApache 2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # OpenEO Processes Dask

[![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/)
![PyPI - Status](https://img.shields.io/pypi/status/openeo-processes-dask)
![PyPI](https://img.shields.io/pypi/v/openeo-processes-dask)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/openeo-processes-dask)
[![codecov](https://codecov.io/github/Open-EO/openeo-processes-dask/branch/main/graph/badge.svg?token=RA82MUN9RZ)](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[![Poetry](https://img.shields.io/endpoint?url=https://python-poetry.org/badge/v0.json)](https://python-poetry.org/)\n![PyPI - Status](https://img.shields.io/pypi/status/openeo-processes-dask)\n![PyPI](https://img.shields.io/pypi/v/openeo-processes-dask)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/openeo-processes-dask)\n[![codecov](https://codecov.io/github/Open-EO/openeo-processes-dask/branch/main/graph/badge.svg?token=RA82MUN9RZ)](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"
}
        
Elapsed time: 0.79286s