Skip to main content

Python implementations of many OpenEO processes, dask-friendly by default.

Project description

OpenEO Processes Dask

Poetry PyPI - Status PyPI 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

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

openeo_processes_dask-2024.10.2.tar.gz (157.2 kB view details)

Uploaded Source

Built Distribution

openeo_processes_dask-2024.10.2-py3-none-any.whl (277.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: openeo_processes_dask-2024.10.2.tar.gz
  • Upload date:
  • Size: 157.2 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

Hashes for openeo_processes_dask-2024.10.2.tar.gz
Algorithm Hash digest
SHA256 d6d0b5db8cd181f5dc37d1ca1d53a584839585551d7682a18ee7e63330abfe7b
MD5 f6e8d30ca56b4ced1555c075b2c9d349
BLAKE2b-256 004b725c8f7439d005d9d95c86756cd9b51158a586b41e1d69b16cef1dc06bf1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for openeo_processes_dask-2024.10.2-py3-none-any.whl
Algorithm Hash digest
SHA256 98a29015d3a1b3eba64f1ac2f16302513f2a5af85db100400de664478c4434dc
MD5 374fca8ed1542b4a6e1f52a92cbf7fc4
BLAKE2b-256 9be20bbe68c54b7208d5ddbd4d11af73a91e390053b369a90cd709047d4a11d6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page