Open-EO / Open-EO/openeo-python-client

Functionality to "unroll" UDPs

Open
#749 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature request
Dominant language
Python
Stars
217
Forks
56
Avg merge
1d 22h
Merged PRs (30d)
2

Description

UDPs and especially remote process definitions (URL based UDPs) are becoming an important feature in a lot of use cases.
A problem however is that UDPs (both under the /process_graphs endpoint and URL based ones) can change over time, which is bad for traceability, reproducibility, etc: if you get a batch job or result from some time ago with a process graph that refers to UDPs, you can not be certain what the actual process graph was at the time of execution because the UDPs might have changed.

What could help here is a feature e.g. in the python client to "unroll" all UDPs in a given process graphs to produce a process graph that only consists of pre-defined processes.

This can be useful both for users/clients and backends that want a representation of an openEO workflow that is immune to future changes in UDP definitions, for better traceability, debugability, ...

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue does not name a file, test, or entry point. First map how the Python client represents process graphs and resolves /process_graphs and URL-based UDPs; done means defining and implementing an agreed way to produce a graph containing only pre-defined processes, with coverage for both UDP forms.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.