Skip to content

Releases: Open-EO/openeo-python-client

openEO Python Client v0.39.1

26 Feb 14:14
Compare
Choose a tag to compare

Fixed

  • Fix legacy usage pattern to append export_workspace to save_result with generic process() helper method (#742)

openEO Python Client v0.39.0

25 Feb 17:04
Compare
Choose a tag to compare

Added

Changed

  • DataCube.save_result() (and related methods) now return a SaveResult/StacResource object instead of another DataCube object to be more in line with the official save_result specification (#402, #720)
  • Deprecate BatchJob.run_synchronous in favor of BatchJob.start_and_wait (#570).

Fixed

  • Fix incompatibility problem when combining load_stac and resample_spatial (#737)

openEO Python Client v0.38.0

12 Feb 08:46
Compare
Choose a tag to compare

Added

Changed

  • Improved tracking of metadata changes with resample_spatial and resample_cube_spatial (#690)
  • Move ComparableVersion to openeo.utils.version (related to #611)
  • Deprecate openeo.rest.rest_capabilities.RESTCapabilities and introduce replacement openeo.rest.capabilities.OpenEoCapabilities (#611, #610)
  • MultiBackendJobManager: start new jobs before downloading the results of finished jobs to use time more efficiently (#633)

Removed

  • Remove unnecessary base class openeo.capabilities.Capabilities #611

Fixed

  • CsvJobDatabase: workaround GeoPandas issue (on Python>3.9) when there is a column named "crs" (#714)

openEO Python Client v0.37.0

21 Jan 14:46
Compare
Choose a tag to compare

Added

  • Added show_error_logs argument to cube.execute_batch()/job.start_and_wait()/... to toggle the automatic printing of error logs on failure (#505)
  • Added Connection.web_editor() to build link to the openEO backend in the openEO Web Editor
  • Add support for log_level in create_job() and execute_job() (#704)
  • Add initial support for "geometry" dimension type in CubeMetadata (#705)
  • Add support for parameterized bands argument in load_stac()
  • Argument spatial_extent in load_collection()/load_stac(): add support for Shapely objects, loading GeoJSON from a local path and loading geometry from GeoJSON/GeoParquet URL. (#678)

Changed

  • Raise exception when providing empty bands array to load_collection/load_stac (#424, Open-EO/openeo-processes#372)
  • Start showing deprecation warnings on usage of GeoJSON "GeometryCollection" (in filter_spatial, aggregate_spatial, chunk_polygon, mask_polygon). Use a GeoJSON FeatureCollection instead. (#706, Open-EO/openeo-processes#389)
  • The context parameter is now used in execute_local_udf (#556

Fixed

  • Clear capabilities cache on login (#254)

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)