From db14d97dbf4a1f5cc1dffd56515790137406440e Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Tue, 5 Sep 2023 11:19:51 +0100 Subject: [PATCH] Migrate to importlib.metadata pkg_resources is removed in Python 3.12. Change-Id: I6ea6d9eb098378dbab52cceb9aa6df335ef9407b Signed-off-by: Stephen Finucane --- requirements.txt | 2 ++ wsme/protocol.py | 7 ++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/requirements.txt b/requirements.txt index cf4d31b..32aaeba 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,3 +2,5 @@ WebOb>=1.8.0 simplegeneric pytz netaddr>=0.7.12 +# TODO: Drop this when Python 3.10 is our minimum supported version +importlib_metadata>=4.4 # Apache-2.0 diff --git a/wsme/protocol.py b/wsme/protocol.py index f7c66da..0eda23f 100644 --- a/wsme/protocol.py +++ b/wsme/protocol.py @@ -1,6 +1,6 @@ import weakref -import pkg_resources +import importlib_metadata from wsme.exc import ClientSideError @@ -106,8 +106,9 @@ def register_protocol(protocol): def getprotocol(name, **options): protocol_class = registered_protocols.get(name) if protocol_class is None: - for entry_point in pkg_resources.iter_entry_points( - 'wsme.protocols', name): + for entry_point in importlib_metadata.entry_points().select( + group='wsme.protocols', + ): if entry_point.name == name: protocol_class = entry_point.load() if protocol_class is None: