Python implementations of many OpenEO processes, dask-friendly by default.
Project description
OpenEO Processes Dask
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
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 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 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file openeo_processes_dask-2024.10.3.tar.gz
.
File metadata
- Download URL: openeo_processes_dask-2024.10.3.tar.gz
- Upload date:
- Size: 157.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.11.10 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41f6e2b4fe0bf8c6b88faf4ab9a5c35b32b4b07a8df925f13eaa4ca331a40d4d |
|
MD5 | 5f7ebe43d9d14ddf0b0618133a3fbfc0 |
|
BLAKE2b-256 | d1d1d56b4513175a50972a39144106201c9206242e12c46535cfb5e85804811b |
File details
Details for the file openeo_processes_dask-2024.10.3-py3-none-any.whl
.
File metadata
- Download URL: openeo_processes_dask-2024.10.3-py3-none-any.whl
- Upload date:
- Size: 279.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.11.10 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 475b442d7b68c7d05b4687fa53eaab258c43c729359f88b79ec650561c337ff9 |
|
MD5 | 57d4d36b1b142c78c003ab0f06328464 |
|
BLAKE2b-256 | 106ffcc9069455f3e6404a7799eb214c58ca84495886197a6d0758bdc65c5fb6 |