Openeo Python Client Versions Save

Python client API for OpenEO

v0.28.0

1 month ago

Added

  • Introduced superclass CubeMetadata for CollectionMetadata for essential metadata handling (just dimensions for now) without collection-specific STAC metadata parsing. (#464)
  • Added VectorCube.vector_to_raster() (#550)

Changed

  • Changed default chunk_size of various download functions from None to 10MB. This improves the handling of large downloads and reduces memory usage. (#528)
  • Connection.execute() and DataCube.execute() now have a auto_decode argument. If set to True (default) the response will be decoded as a JSON and throw an exception if this fails, if set to False the raw requests.Response object will be returned. (#499)

Fixed

  • Preserve geo-referenced x and y coordinates in execute_local_udf (#549)

v0.27.0

3 months ago

Added

  • Add DataCube.filter_labels()

Changed

  • Update autogenerated functions/methods in openeo.processes to definitions from openeo-processes project version 2.0.0-rc1. This removes create_raster_cube, fit_class_random_forest, fit_regr_random_forest and save_ml_model. Although removed from openeo-processes 2.0.0-rc1, support for load_result, predict_random_forest and load_ml_model is preserved but deprecated. (#424)
  • Show more informative error message on 403 Forbidden errors from CDSE firewall (#512)
  • Handle API error responses more strict and avoid hiding possibly important information in JSON-formatted but non-compliant error responses.

Fixed

  • Fix band name support in DataCube.band() when no metadata is available (#515)
  • Support optional child callbacks in generated openeo.processes, e.g. merge_cubes (#522)
  • Fix broken pre-flight validation in Connection.save_user_defined_process (#526)

v0.26.0

4 months ago

Added

  • Support new UDF signature: def apply_datacube(cube: DataArray, context: dict) -> DataArray (#310)
  • Add collection_property() helper to easily build collection metadata property filters for Connection.load_collection() (#331)
  • Add DataCube.apply_polygon() (standardized version of experimental chunk_polygon) (#424)
  • Various improvements to band mapping with the Awesome Spectral Indices feature. Allow explicitly specifying the satellite platform for band name mapping (e.g. "Sentinel2" or "LANDSAT8") if cube metadata lacks info. Follow the official band mapping from Awesome Spectral Indices better. Allow manually specifying the desired band mapping. (#485, #501)
  • Also attempt to automatically refresh OIDC access token on a 401 TokenInvalid response (in addition to 403 TokenInvalid) (#508)
  • Add Parameter.object() factory for object type parameters

Removed

  • Remove custom spectral indices "NDGI", "NDMI" and "S2WI" from "extra-indices-dict.json" that were shadowing the official definitions from Awesome Spectral Indices (#501)

Fixed

  • Initial support for "spectral indices" that use constants defined by Awesome Spectral Indices (#501)

v0.25.0

5 months ago

Changed

  • Introduce OpenEoApiPlainError for API error responses that are not well-formed for better distinction with properly formed API error responses (OpenEoApiError). (#491).

Fixed

  • Fix missing validate support in LocalConnection.execute (#493)

v0.24.0

5 months ago

Added

  • Add DataCube.reduce_spatial()
  • Added option (enabled by default) to automatically validate a process graph before execution. Validation issues just trigger warnings for now. (#404)
  • Added "Sentinel1" band mapping support to "Awesome Spectral Indices" wrapper (#484)
  • Run tests in GitHub Actions against Python 3.12 as well

Changed

  • Enforce XarrayDataCube dimension order in execute_local_udf() to (t, bands, y, x) to improve UDF interoperability with existing back-end implementations.

v0.23.0

6 months ago

Added

  • Support year/month shorthand date notations in temporal extent arguments of Connection.load_collection, DataCube.filter_temporal and related (#421)
  • Support parameterized bands in load_collection (#471)
  • Allow specifying item schema in Parameter.array()
  • Support "subtype" and "format" schema options in Parameter.string()

Changed

  • Before doing user-defined process (UDP) listing/creation: verify that back-end supports that (through openEO capabilities document) to improve error message.
  • Skip metadata-based normalization/validation and stop showing unhelpful warnings/errors like "No cube:dimensions metadata" or "Invalid dimension" when no metadata is available client-side anyway (e.g. when using datacube_from_process, parameterized cube building, ...). (#442)

Removed

  • Bumped minimal supported Python version to 3.7 (#460)

Fixed

  • Support handling of "callback" parameters in openeo.processes callables (#470)

v0.22.0

8 months ago

Added

  • Processes that take a CRS as argument now try harder to normalize your input to a CRS representation that aligns with the openEO API (using pyproj library when available) (#259)
  • Initial load_geojson support with Connection.load_geojson() (#424)
  • Initial load_url (for vector cubes) support with Connection.load_url() (#424)
  • Add VectorCube.apply_dimension() (Open-EO/openeo-python-driver#197)
  • Support lambda based property filtering in Connection.load_stac() (#425)
  • VectorCube: initial support for filter_bands, filter_bbox, filter_labels and filter_vector (#459)

Changed

  • Connection based requests: always use finite timeouts by default (20 minutes in general, 30 minutes for synchronous execute requests) (#454)

Fixed

  • Fix: MultibackendJobManager should stop when finished, also when job finishes with error (#452)

v0.21.1

9 months ago

Fixed

  • Fix spatial_extent/temporal_extent handling in "localprocessing" load_stac (#451)

v0.21.0

9 months ago

Added

  • Add support in VectoCube.download() and VectorCube.execute_batch() to guess output format from extension of a given filename (#401, #449)
  • Added load_stac for Client Side Processing, based on the openeo-processes-dask implementation

Changed

Fixed

  • Avoid double save_result nodes when combining VectorCube.save_result() and .download(). (#401, #448)

v0.20.0

9 months ago

Added

  • Added automatically renewal of access tokens with OIDC client credentials grant (Connection.authenticate_oidc_client_credentials) (#436)

Changed

  • Simplified BatchJob methods start(), stop(), describe(), ... Legacy aliases start_job(), describe_job(), ... are still available and don't trigger a deprecation warning for now. (#280)
  • Update openeo.extra.spectral_indices to Awesome Spectral Indices v0.4.0