Releases: Open-EO/openeo-python-client
Releases · Open-EO/openeo-python-client
openEO Python Client v0.31.0
Added
- Add experimental
openeo.testing.results
subpackage with reusable test utilities for comparing batch job results with reference data MultiBackendJobManager
: add initial support for storing job metadata in Parquet file (instead of CSV) (#571)- Add
Connection.authenticate_oidc_access_token()
to set up authorization headers with an access token that is obtained "out-of-band" (#598) - Add
JobDatabaseInterface
to allow custom job metadata storage withMultiBackendJobManager
(#571)
openEO Python Client v0.30.0
Added
- Add
openeo.udf.run_code.extract_udf_dependencies()
to extract UDF dependency declarations from UDF code
(related to Open-EO/openeo-geopyspark-driver#237) - Document PEP 723 based Python UDF dependency declarations (Open-EO/openeo-geopyspark-driver#237)
- Added more
openeo.api.process.Parameter
helpers to easily create "bounding_box", "date", "datetime", "geojson" and "temporal_interval" parameters for UDP construction. - Added convenience method
Connection.load_stac_from_job(job)
to easily load the results of a batch job with theload_stac
process (#566) load_stac
/metadata_from_stac
: add support for extracting band info from "item_assets" in collection metadata (#573)- Added initial
openeo.testing
submodule for reusable test utilities
Fixed
- Initial fix for broken
DataCube.reduce_temporal()
afterload_stac
(#568)
openEO Python Client v0.29.0
openEO Python Client v0.28.0
Added
- Introduced superclass
CubeMetadata
forCollectionMetadata
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 variousdownload
functions from None to 10MB. This improves the handling of large downloads and reduces memory usage. (#528) Connection.execute()
andDataCube.execute()
now have aauto_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 rawrequests.Response
object will be returned. (#499)
Fixed
- Preserve geo-referenced
x
andy
coordinates inexecute_local_udf
(#549)
openEO Python Client v0.27.0
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 removescreate_raster_cube
,fit_class_random_forest
,fit_regr_random_forest
andsave_ml_model
. Although removed from openeo-processes 2.0.0-rc1, support forload_result
,predict_random_forest
andload_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
openEO Python Client v0.26.0
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 forConnection.load_collection()
(#331) - Add
DataCube.apply_polygon()
(standardized version of experimentalchunk_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 to403 TokenInvalid
) (#508) - Add
Parameter.object()
factory forobject
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
openEO Python Client v0.24.0
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 inexecute_local_udf()
to (t, bands, y, x)
to improve UDF interoperability with existing back-end implementations.
openEO Python Client v0.23.0
Added
- Support year/month shorthand date notations in temporal extent arguments of
Connection.load_collection
,DataCube.filter_temporal
and related (#421) - Support parameterized
bands
inload_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
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 withConnection.load_geojson()
(#424) - Initial
load_url
(for vector cubes) support withConnection.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 forfilter_bands
,filter_bbox
,filter_labels
andfilter_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)