Releases: Open-EO/openeo-python-client
Releases · Open-EO/openeo-python-client
openEO Python Client v0.14.0
Added
- Jupyter integration: show process graph visualization of
DataCubeobjects instead of genericrepr. (#336) - Add
Connection.vectorcube_from_paths()to load a vector cube
from files (on back-end) or URLs withload_uploaded_filesprocess. - Python 3.10 and 3.11 are now officially supported
(test run now also for 3.10 and 3.11 in GitHub Actions, #346) - Support for simplified OIDC device code flow, (#335)
- Added MultiBackendJobManager, based on implementation from openeo-classification project
(#361) - Added resilience to MultiBackendJobManager for backend failures (#365)
Changed
execute_batchalso skips temporal502 Bad Gateway errors. #352
Fixed
- Fixed/improved math operator/process support for
DataCubes in "apply" mode (non-"band math"),
allowing expressions like10 * cube.log10()and~(cube == 0)
(#123) - Support
PrivateJsonFilepermissions properly on Windows, using oschmod library.
(#198) - Fixed some broken unit tests on Windows related to path (separator) handling.
(#350)
openEO Python client v0.13.0
Added
- Add
max_cloud_coverargument toload_collection()to simplify setting maximum cloud cover (propertyeo:cloud_cover) (#328)
Changed
- Improve default dimension metadata of a datacube created with
openeo.rest.datacube.DataCube.load_disk_collection DataCube.download(): only automatically addsave_resultnode when there is none yet.- Deprecation warnings: make sure they are shown by default and can be hidden when necessary.
- Rework and improve
openeo.UDFhelper class for UDF usage
(#312).- allow loading directly from local file or URL
- autodetect
runtimefrom file/URL suffix or source code - hide implementation details around
dataargument (e.g.data={"from_parameter": "x"}) - old usage patterns of
openeo.UDFandDataCube.apply_dimension()still work but trigger deprecation warnings
- Show warning when using
load_collectionproperty filters that are not defined in the collection metadata (summaries).
openEO Python client v0.12.1
openEO Python client v0.12.0
Added
- Allow passing raw JSON string, JSON file path or URL to
Connection.download(),
Connection.execute()andConnection.create_job() - Add support for reverse math operators on DataCube in
applymode (#323) - Add
DataCube.print_json()to simplify exporting process graphs in Jupyter or other interactive environments (#324) - Raise
DimensionAlreadyExistsExceptionwhen trying toadd_dimension()a dimension with existing name (Open-EO/openeo-geopyspark-driver#205)
Changed
DataCube.execute_batch()now also guesses the output format from the filename,
and allows usingformatargument next to the currentout_format
to align with theDataCube.download()method. (#240)- Better client-side handling of merged band name metadata in
DataCube.merge_cubes()
Removed
openEO Python client v0.11.0
Added
- Add support for passing a PGNode/VectorCube as geometry to
aggregate_spatial,mask_polygon, ... - Add support for second order callbacks e.g.
is_validincountinreduce_dimension(#317)
Changed
- Rename
RESTJobclass name to less cryptic and more user-friendlyBatchJob.
OriginalRESTJobis still available as deprecated alias.
(#280) - Dropped default reducer ("max") from
DataCube.reduce_temporal_simple() - Various documentation improvements:
- Drop hardcoded
h5netcdfengine fromXarrayIO.from_netcdf_file()
andXarrayIO.to_netcdf_file()(#314) - Changed argument name of
Connection.describe_collection()fromnametocollection_id
to be more in line with other methods/functions.
Fixed
- Fix
context/conditionconfusion bug withcountcallback inDataCube.reduce_dimension()(#317)
openEO Python client v0.10.1 (LPS22 release)
Added
- Add
contextparameter toDataCube.aggregate_spatial(),DataCube.apply_dimension(),
DataCube.apply_neighborhood(),DataCube.apply(),DataCube.merge_cubes().
(#291) - Add
DataCube.fit_regr_random_forest()(#293) - Add
PGNode.update_arguments(), which combined withDataCube.result_node()allows to do advanced process graph argument tweaking/updating without using._pghacks. JobResults.download_files(): also download (by default) the job result metadata as STAC JSON file (#184)- OIDC handling in
Connection: try to automatically refresh access token when expired (#298) Connection.create_jobraises exception if response does not contain a valid job_id- Add
openeo.udf.debug.inspectfor using the openEOinspectprocess in a UDF (#302) - Add
openeo.util.to_bbox_dict()to simplify building a openEO style bbox dictionary, e.g. from a list or shapely geometry (#304)
Removed
- Removed deprecated (and non-functional)
zonal_statisticsmethod from oldImageCollectionClientAPI. (#144)
openEO Python client v0.10.0 (SRR3 release)
Added
- Add support for comparison operators (
<,>,<=and>=) in callback process building - Added
Connection.describe_process()to retrieve and show a single process - Added
DataCube.flatten_dimensions()andDataCube.unflatten_dimension
(Open-EO/openeo-processes#308, Open-EO/openeo-processes#316) - Added
VectorCube.run_udf(to avoid non-standardprocess_with_node(UDF(...))usage) - Added
DataCube.fit_class_random_forest()andConnection.load_ml_model()to train and load Machine Learning models
(#279) - Added
DataCube.predict_random_forest()to easily usereduce_dimensionwith apredict_random_forestreducer
using aMlModel(trained withfit_class_random_forest)
(#279) - Added
DataCube.resample_cube_temporal(#284) - Add
target_dimensionargument toDataCube.aggregate_spatial(#288) - Add basic configuration file system to define a default back-end URL and enable auto-authentication (#264, #187)
- Add
contextargument toDataCube.chunk_polygon() - Add
Connection.version_info()to list version information about the client, the API and the back-end
Changed
- Include openEO API error id automatically in exception message to simplify user support and post-mortem analysis.
- Use
Connection.default_timeout(when set) also on version discovery request - Drop
ImageCollectionfromDataCube's class hierarchy. - This practically removes very old (pre-0.4.0) methods like
date_range_filterandbbox_filterfromDataCube.
(#100, #278) - Deprecate
DataCube.send_jobin favor ofDataCube.create_jobfor better consistency (internally and with other libraries) (#276) - Update (autogenerated)
openeo.processesmodule to 1.2.0 release (2021-12-13) of openeo-processes - Update (autogenerated)
openeo.processesmodule to draft version of 2022-03-16 (e4df8648) of openeo-processes - Update
openeo.extra.spectral_indicesto a post-0.0.6 version of Awesome Spectral Indices
Removed
- Removed deprecated 'zonal_statistics' method from the 1.x version of the API.
- Deprecate old-style
DataCube.polygonal_mean_timeseries(),DataCube.polygonal_histogram_timeseries(),
DataCube.polygonal_median_timeseries()andDataCube.polygonal_standarddeviation_timeseries()
Fixed
openEO Python client v0.9.2
Added
- Add experimental support for
chunk_polygonprocess (Open-EO/openeo-processes#287) - Add support for
spatial_extent,temporal_extentandbandstoConnection.load_result() - Setting the environment variable
OPENEO_BASEMAP_URLallows to set a new templated URL to a XYZ basemap for the Vue Components library,OPENEO_BASEMAP_ATTRIBUTIONallows to set the attribution for the basemap (#260) - Initial support for experimental "federation:missing" flag on partial openEO Platform user job listings (Open-EO/openeo-api#419)
- Best effort detection of mistakenly using Python builtin
sumorallfunctions in callbacks (Forum #113) - Automatically print batch job logs when job doesn't finish successfully (using
execute_batch/run_synchronous/start_and_wait).
openEO Python client v0.9.1
Added
- Add
optionsargument toDataCube.atmospheric_correction(Open-EO/openeo-python-driver#91) - Add
atmospheric_correction_optionsandcloud_detection_optionsarguments toDataCube.ard_surface_reflectance(Open-EO/openeo-python-driver#91) - UDP storing: add support for "returns", "categories", "examples" and "links" properties (#242)
- Add
openeo.extra.spectral_indices: experimental API to easily compute spectral indices (vegetation, water, urban, ...) on aDataCube, using the index definitions from Awesome Spectral Indices
Changed
- Batch job status poll loop: ignore (temporary) "service unavailable" errors (Open-EO/openeo-python-driver#96)
- Batch job status poll loop: fail when there are too many soft errors (temporary connection/availability issues)
Fixed
- Fix
DataCube.ard_surface_reflectance()to use processard_surface_reflectanceinstead ofatmospheric_correction
openEO Python client v0.9.0
Added
- Add command line tool
openeo-auth token-clearto remove OIDC refresh token cache - Add support for OIDC device authorization grant without PKCE nor client secret,
(#225, openeo-api#410) - Add
DataCube.dimension_labels()(EP-4008) - Add
Connection.load_result()(EP-4008) - Add proper support for child callbacks in
fit_curveandpredict_curve(#229) ProcessBuilder: Add support forarray_element(data, n)throughdata[n]syntax (#228)ProcessBuilder: Add support foreqandneqthrough==and!=operators (EP-4011)- Add
DataCube.validate()for process graph validation (EP-4012 related) - Add
Connection.as_curl()for generating curl command to evaluate a process graph orDataCubefrom the command line - Add support in
DataCube.download()to guess output format from extension of a given filename
Changed
- Improve default handling of
crs(andbase/height) infilter_bbox: avoid explicitly sendingnullunnecessarily
(#233). - Update documentation/examples/tests: EPSG CRS in
filter_bboxshould be integer code, not string
(#233). - Raise
ProcessGraphVisitExceptionfromProcessGraphVisitor.resolve_from_node()(instead of genericValueError) DataCube.linear_scale_rangeis now a shortcut forDataCube.apply(lambda x:x.x.linear_scale_range( input_min, input_max, output_min, output_max)).
Instead of creating an invalid process graph that tries to invoke linear_scale_range on a datacube directly.- Nicer error message when back-end does not support basic auth (#247)