Skip to content

Datacube v1.8.8

Compare
Choose a tag to compare
@SpacemanPaul SpacemanPaul released this 05 Oct 00:25
· 416 commits to develop since this release
e0dfd94

Ofiicial release (Same as 1.8.8-rc1)

Most notable new features are:

  1. the new database transaction API, as discussed in ODC-EP07 Database Transaction API. Simple example:
with dc.index.transaction() as trans:
   # Archive old datasets and add new ones in single transaction
   dc.index.datasets.archive([old_ds1.id, old_ds2.id])
   dc.index.datasets.add(ds1)
   dc.index.datasets.add(ds2)

   # If execution gets to here, the transaction is committed.
   # If an exception was raised by any of the above methods, the transaction is rolled back.
  1. Add patch_url argument to dc.load and dc.load_data allowing signing of URIs as required by some commercial data providers (e.g. Microsoft Planetary Computer).

Also includes an update of the main test docker build to Ubuntu 22.04 and Python 3.10, and significant progress on the new postgis index driver.

Please note that the postgis index driver is still flagged as "experimental" and is missing several key features.

The release is almost identical to 1.8.8rc1. Full list of changes since 1.8.7:

  • Migrate main test docker build to Ubuntu 22.04 and Python 3.10. (#1283)
  • Dynamically create tables to serve as spatial indexes in postgis driver. (#1312)
  • Populate spatial index tables, automatically and manually. (#1314)
  • Perform spatial queries against spatial index tables in postgis driver. (#1316)
  • EO3 data fixtures and tests. Fix SQLAlchemy bugs in postgis driver. (#1309)
  • Dependency updates. (#1308, #1313)
  • Remove several features that had been deprecated in previous releases. (#1275)
  • Fix broken paths in api docs. (#1277)
  • Fix readthedocs build. (#1269)
  • Add support for Jupyter Notebooks pages in documentation (#1279)
  • Add doc change comparison for tuple and list types with identical values (#1281)
  • Add flake8 to Github action workflow and correct code base per flake8 rules (#1285)
  • Add dataset id check to dataset doc resolve to prevent uuid returning error when id used in None (#1287)
  • Add how to run targeted single test case in docker guide to README (#1288)
  • Add help message for all dataset, product and metadata subcommands when required arg is not passed in (#1292)
  • Add error code 1 to all incomplete dataset, product and metadata subcommands (#1293)
  • Add exit_on_empty_file message to product and dataset subcommands instead of returning no output when file is empty (#1294)
  • Add flags to index drivers advertising what format datasets they support (eo/eo3/non-geo (e.g. telemetry only))
    and validate in the high-level API. General refactor and cleanup of eo3.py and hl.py. (#1296)
  • Replace references to 'agdc' and 'dataset_type' in postgis driver with 'odc' and 'product'. (#1298)
  • Add warning message for product and metadata add when product and metadata is already in the database. (#1299)
  • Ensure SimpleDocNav.id is of type UUID, to improve lineage resolution (#1304)
  • Replace SQLAlchemy schema and query definitions in experimental postgis driver with newer "declarative" style ORM.
    Portions of API dealing with lineage handling, locations, and dynamic indexes are currently broken in the postgis
    driver. As per the warning message, the postgis driver is currently flagged as "experimental" and is not considered
    stable. (#1305)
  • Implement patch_url argument to dc.load() and dc.load_data() to provide a way to sign dataset URIs, as
    is required to access some commercial archives (e.g. Microsoft Planetary Computer). API is based on the odc-stac
    implementation. Only works for direct loading. More work required for deferred (i.e. Dask) loading. (#1317)
  • Implement public-facing index-driver-independent API for managing database transactions, as per Enhancement Proposal
    EP07 (#1318)
  • Update Conda environment to match dependencies in setup.py (#1319)
  • Final updates to whats_new.rst for release (#1320)

Includes contributions from @SpacemanPaul @tijmenr @pindge and @omad

Thanks to the ODC Steering Council and Geoscience Australia for their ongoing support of ODC development.