Open-EO / Open-EO/openeo-python-client
Create datacube from UDP more easily
Open
Nobody has claimed this yet.
feature request
good first issue
nice-to-have
usability
- Dominant language
- Python
- Stars
- 217
- Forks
- 56
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 2
Description
Currently, I need to create a datacube from a UDP as follows:
udp_sar = connection.save_user_defined_process(
user_defined_process_id="s1_stats",
process_graph=s1_stats,
parameters=[temporal_extent, spatial_extent],
summary="S1 SAR stats",
description="Calculate S1 SAR stats (min, max, mean, sd, q10, q50, q90). This service can cost an approximate of 3-5 credits per sq km. This cost is based on resource consumpltion only and added-value cost has not been included.",
public=True,
)
public_url, _ = [
l["href"] for l in udp_sar.describe()["links"] if l["rel"] == "canonical"
]
sar = connection.datacube_from_process(
"s1_stats",
namespace=public_url,
temporal_extent=["2023-05-01", "2023-07-30"],
spatial_extent={"west": 8.82, "south": 44.40, "east": 8.92, "north": 44.45},
)
It would be nice if the client could allow to pass the UDP directly:
udp_sar = connection.save_user_defined_process(
user_defined_process_id="s1_stats",
process_graph=s1_stats,
parameters=[temporal_extent, spatial_extent],
summary="S1 SAR stats",
description="Calculate S1 SAR stats (min, max, mean, sd, q10, q50, q90). This service can cost an approximate of 3-5 credits per sq km. This cost is based on resource consumpltion only and added-value cost has not been included.",
public=True,
)
sar = connection.datacube_from_process(
udp,
temporal_extent=["2023-05-01", "2023-07-30"],
spatial_extent={"west": 8.82, "south": 44.40, "east": 8.92, "north": 44.45},
)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the connection.save_user_defined_process and connection.datacube_from_process entry points shown in the issue. Trace how the current process identifier and namespace are handled, then verify that datacube_from_process accepts the returned UDP directly while preserving the existing string-based form.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100