Skip to content

ODC EP 06 Extract Geometry Utilities into a Separate Package

Paul Haesler edited this page Jul 4, 2023 · 8 revisions

ODC-EP 06 - Extract Geometry Utilities into a Separate Package

Overview

Extract geometry-related utilities into a separate package under opendatacube organization.

Proposed By

Kirill Kouzoubov

State

  • Under Discussion
  • In Progress
  • Completed
  • Rejected
  • Deferred

(odc-geo is complete, released and mature. Core has adopted it in the develop-1.9 branch and it will be included in the 1.9.0 release.)

Motivation

It would be useful to have access to .geobox property without needing to pull in all the database libraries needed by datacube. Packages like odc-algo and odc-stac currently depend on datacube primarily because they use Geometry classes and .geobox property. But these libraries can be useful in scenarios where there is no datacube database.

Additionally I believe this would allow for more rapid experimentation with data loading pipelines. Currently database querying and data loading are highly coupled via dc.load(..) interface. Collection management and metadata search is a separate concern from data loading, moving Geometry functionality into a separate package is a first step towards separating those concerns.

Proposal

  • Copy utils/geometry/* and related test/docs into a separate repo (name odc-geo?)
    • Use git-filter-repo to keep all the history and original authorship
    • Setup packaging for the new library, including conda-forge
    • Setup CI/CD
    • Setup documentation on readthedocs
  • Replace code in datacube-core with calls to odc-geo library
  • Provide backward compatibility shims in datacube core

Feedback

Voting

Approved: Paul Haesler, Imam Alam, Robert Woodcock

This Enhancement Proposal is included on the ODCv2 Road Map.

Enhancement Proposal Team

  • Kirill Kouzoubov
  • Alan D. Snow

Links

Clone this wiki locally