From fca4be40ecc0bca4f7067512d35555115951d4d9 Mon Sep 17 00:00:00 2001 From: Paul Haesler Date: Tue, 27 Feb 2024 15:43:14 +1100 Subject: [PATCH 1/3] Fix #1556 --- datacube/drivers/driver_cache.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/datacube/drivers/driver_cache.py b/datacube/drivers/driver_cache.py index 709a055c8..c5db756f1 100644 --- a/datacube/drivers/driver_cache.py +++ b/datacube/drivers/driver_cache.py @@ -51,8 +51,8 @@ def safe_load(ep): return driver def resolve_all(group: str) -> Iterable[Tuple[str, Any]]: - from pkg_resources import iter_entry_points - for ep in iter_entry_points(group=group, name=None): + from importlib_metadata import entry_points + for ep in entry_points(group=group, name=None): driver = safe_load(ep) if driver is not None: yield (ep.name, driver) From abccb23da1f65dc49e50d9f2794ce6e75ed0d0a6 Mon Sep 17 00:00:00 2001 From: Paul Haesler Date: Tue, 27 Feb 2024 15:49:10 +1100 Subject: [PATCH 2/3] Update whats new. --- docs/about/whats_new.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/about/whats_new.rst b/docs/about/whats_new.rst index dc32f195a..b1f4acffd 100644 --- a/docs/about/whats_new.rst +++ b/docs/about/whats_new.rst @@ -34,6 +34,7 @@ v1.9.next - Index driver API type hint cleanup. (:pull:`1541`) - Deprecate multiple locations. (:pull:`1546`) - Deprecate search_eager and search_summaries and add `archived` arg to all dataset search/count methods. (:pull:`1550`) +- Migrate away from deprecated Python pkg_resources module (:pull:`1558`) v1.8.next From 2fff86b4566c5f02e2daec0da88451c248784e96 Mon Sep 17 00:00:00 2001 From: Paul Haesler Date: Tue, 27 Feb 2024 16:44:14 +1100 Subject: [PATCH 3/3] Oops. --- datacube/drivers/driver_cache.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/datacube/drivers/driver_cache.py b/datacube/drivers/driver_cache.py index c5db756f1..a80c7c2ae 100644 --- a/datacube/drivers/driver_cache.py +++ b/datacube/drivers/driver_cache.py @@ -26,14 +26,9 @@ def load_drivers(group: str) -> Dict[str, Any]: """ def safe_load(ep): - from pkg_resources import DistributionNotFound # pylint: disable=broad-except,bare-except try: driver_init = ep.load() - except DistributionNotFound: - # This happens when entry points were marked with extra features, - # but extra feature were not requested for installation - return None except Exception as e: _LOG.warning('Failed to resolve driver %s::%s', group, ep.name) _LOG.warning('Error was: %s', repr(e)) @@ -52,7 +47,7 @@ def safe_load(ep): def resolve_all(group: str) -> Iterable[Tuple[str, Any]]: from importlib_metadata import entry_points - for ep in entry_points(group=group, name=None): + for ep in entry_points(group=group): driver = safe_load(ep) if driver is not None: yield (ep.name, driver)