Skip to content

Releases: Open-EO/openeo-python-client

openEO Python Client v0.26.0

27 Nov 16:48
Compare
Choose a tag to compare

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)

openEO Python Client v0.25.0

02 Nov 12:29
Compare
Choose a tag to compare

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)

openEO Python Client v0.24.0

27 Oct 15:34
Compare
Choose a tag to compare

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.

openEO Python Client v0.23.0

02 Oct 16:52
Compare
Choose a tag to compare

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)

openEO Python Client v0.22.0

09 Aug 20:06
Compare
Choose a tag to compare

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)

openEO Python Client v0.21.1

19 Jul 15:16
Compare
Choose a tag to compare

Fixed

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

openEO Python Client v0.21.0

19 Jul 08:02
Compare
Choose a tag to compare

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)

openEO Python Client v0.20.0

30 Jun 13:12
Compare
Choose a tag to compare

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

openEO Python Client v0.19.0

16 Jun 17:51
Compare
Choose a tag to compare

Added

  • Generalized support for setting (default) OIDC provider id through env var OPENEO_AUTH_PROVIDER_ID #419
  • Added OidcDeviceCodePollTimeout: specific exception for OIDC device code flow poll timeouts
  • On-demand preview: Added DataCube.preview() to generate a XYZ service with the process graph and display a map widget

Fixed

  • Fix format option conflict between save_result and create_job #433
  • Ensure that OIDC device code link opens in a new tab/window #443

openEO Python Client v0.18.0

31 May 13:29
Compare
Choose a tag to compare

Added

  • Support OIDC client credentials grant from a generic connection.authenticate_oidc() call through environment variables #419

Fixed

  • Fixed UDP parameter conversion issue in build_process_dict when using parameter in context of run_udf #431