Skip to content

Releases: Open-EO/openeo-python-client

openEO Python Client v0.29.0

03 May 12:45
Compare
Choose a tag to compare

Added

  • Start depending on pystac, initially for better load_stac support (#133, #527)

Changed

  • OIDC device code flow: hide progress bar on completed (or timed out) authentication

openEO Python Client v0.28.0

18 Mar 13:21
Compare
Choose a tag to compare

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)

openEO Python Client v0.27.0

12 Jan 11:15
Compare
Choose a tag to compare

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)

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)