Skip to content

Releases: Open-EO/openeo-python-client

openEO Python Client v0.36.0

10 Dec 15:47
Compare
Choose a tag to compare

Added

  • Automatically use load_url when providing a URL as geometries to DataCube.aggregate_spatial(), DataCube.mask_polygon(), etc. (#104, #457)
  • Allow specifying limit when listing batch jobs with Connection.list_jobs() (#677)
  • Add additional and job_options arguments to Connection.download(), Datacube.download() and related (#681)

Changed

  • MultiBackendJobManager: costs has been added as a column in tracking databases ([#588])
  • When passing a path/string as geometry to DataCube.aggregate_spatial(), DataCube.mask_polygon(), etc.:
    this is not translated automatically anymore to deprecated, non-standard read_vector usage.
    Instead, if it is a local GeoJSON file, the GeoJSON data will be loaded directly client-side.
    (#104, #457)
  • Move read() method from general JobDatabaseInterface to more specific FullDataFrameJobDatabase (#680)
  • Align additional and job_options arguments in Connection.create_job(), DataCube.create_job() and related.
    Also, follow official spec more closely. (#683, Open-EO/openeo-api#276)

Fixed

  • load_stac: use fallback temporal dimension when no "cube:dimensions" in STAC Collection (#666)
  • Fix usage of Parameter.spatial_extent() with load_collection and filter_bbox (#676)

openEO Python Client v0.35.0

19 Nov 13:21
Compare
Choose a tag to compare

Added

  • Added MultiResult helper class to build process graphs with multiple result nodes (#391)

Fixed

  • MultiBackendJobManager: Fix issue with duplicate job starting across multiple backends (#654)
  • MultiBackendJobManager: Fix encoding issue of job metadata in on_job_done (#657)
  • MultiBackendJobManager: Avoid SettingWithCopyWarning (#641)
  • Avoid creating empty file if asset download request failed.
  • MultiBackendJobManager: avoid dtype loading mistakes in CsvJobDatabase on empty columns (#656)
  • MultiBackendJobManager: restore logging of job status histogram during run_jobs (#655)

openEO Python Client v0.34.0

31 Oct 13:49
Compare
Choose a tag to compare

Removed

  • Drop support for Python 3.7 (#578)

Fixed

  • Fixed broken support for title and description job properties in execute_batch() (#652)

openEO Python Client v0.33.0

18 Oct 07:16
Compare
Choose a tag to compare

Added

  • Added DataCube.load_stac() to also support creating a load_stac based cube without a connection (#638)
  • MultiBackendJobManager: Added initialize_from_df(df) (to CsvJobDatabase and ParquetJobDatabase) to initialize (and persist) the job database from a given DataFrame.
    Also added create_job_db() factory to easily create a job database from a given dataframe and its type guessed from filename extension.
    (#635)
  • MultiBackendJobManager.run_jobs() now returns a dictionary with counters/stats about various events during the full run of the job manager (#645)
  • Added (experimental) ProcessBasedJobCreator to be used as start_job callable with MultiBackendJobManager to create multiple jobs from a single parameterized process (e.g. a UDP or remote process definition) (#604)

Fixed

  • When using DataCube.load_collection() without a connection, it is not necessary anymore to also explicitly set fetch_metadata=False (#638)

openEO Python Client v0.32.0

27 Sep 12:52
Compare
Choose a tag to compare

Added

  • load_stac/metadata_from_stac: add support for extracting actual temporal dimension metadata (#567)
  • MultiBackendJobManager: add cancel_running_job_after option to automatically cancel jobs that are running for too long (#590)
  • Added openeo.api.process.Parameter helper to easily create a "spatial_extent" UDP parameter
  • Wrap OIDC token request failure in more descriptive OidcException (related to #624)
  • Added auto_add_save_result option (on by default) to disable automatic addition of save_result node on download/create_job/execute_batch (#513)
  • Add support for apply_vectorcube UDF signature in run_udf_code ([Open-EO/openeo-geopyspark-driver#881]Open-EO/openeo-geopyspark-driver#811)
  • MultiBackendJobManager: add API to the update loop in a separate thread, allowing controlled interruption.

Changed

  • MultiBackendJobManager: changed job metadata storage API, to enable working with large databases
  • DataCube.apply_polygon(): rename polygons argument to geometries, but keep support for legacy polygons for now (#592, #511)
  • Disallow ambiguous single string argument in DataCube.filter_temporal() (#628)
  • Automatic adding of save_result from download() or create_job(): inspect whole process graph for pre-existing save_result nodes (related to #623, #401, #583)
  • Disallow ambiguity of combining explicit save_result nodes and implicit save_result addition from download()/create_job() calls with format (related to #623, #401, #583)

Fixed

  • apply_dimension with a target_dimension argument was not correctly adjusting datacube metadata on the client side, causing a mismatch.
  • Preserve non-spatial dimension metadata in aggregate_spatial (#612)

openEO Python Client v0.31.0

26 Jul 16:09
Compare
Choose a tag to compare

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 with MultiBackendJobManager (#571)

openEO Python Client v0.30.0

18 Jun 11:07
Compare
Choose a tag to compare

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 the load_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() after load_stac (#568)

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)