summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2022-04-29 17:21:37 +0000
committerGerrit Code Review <review@openstack.org>2022-04-29 17:21:37 +0000
commitb79a10f0b5ea29235d4c6c77ae30da60f9af3e78 (patch)
tree1d8a046f5ff94959b5fe103d09b8598792b3d10b
parent3c2d57483733dc27a3e80c838072db87d375add0 (diff)
parent6940b4ff0a2823228fab834bfaca6b851c60d8d3 (diff)
downloadpython-keystoneclient-b79a10f0b5ea29235d4c6c77ae30da60f9af3e78.tar.gz
Merge "use importlib.metadata to get keyring version"
-rw-r--r--keystoneclient/httpclient.py18
-rw-r--r--lower-constraints.txt2
-rw-r--r--requirements.txt2
3 files changed, 17 insertions, 5 deletions
diff --git a/keystoneclient/httpclient.py b/keystoneclient/httpclient.py
index 1e94dab..865af41 100644
--- a/keystoneclient/httpclient.py
+++ b/keystoneclient/httpclient.py
@@ -20,11 +20,18 @@
import logging
import warnings
+try:
+ # For Python 3.8 and later
+ import importlib.metadata as importlib_metadata
+except ImportError:
+ # For everyone else
+ import importlib_metadata
+
from debtcollector import removals
from debtcollector import renames
from keystoneauth1 import adapter
from oslo_serialization import jsonutils
-import pkg_resources
+import packaging.version
import requests
try:
@@ -33,9 +40,10 @@ try:
# NOTE(sdague): The conditional keyring import needs to only
# trigger if it's a version of keyring that's supported in global
# requirements. Update _min and _bad when that changes.
- keyring_v = pkg_resources.parse_version(
- pkg_resources.get_distribution("keyring").version)
- keyring_min = pkg_resources.parse_version('5.5.1')
+ keyring_v = packaging.version.Version(
+ importlib_metadata.version('keyring')
+ )
+ keyring_min = packaging.version.Version('5.5.1')
# This is a list of versions, e.g., pkg_resources.parse_version('3.3')
keyring_bad = []
@@ -43,7 +51,7 @@ try:
import keyring
else:
keyring = None
-except (ImportError, pkg_resources.DistributionNotFound):
+except (ImportError, importlib_metadata.PackageNotFoundError):
keyring = None
pickle = None
diff --git a/lower-constraints.txt b/lower-constraints.txt
index 49c7188..facff98 100644
--- a/lower-constraints.txt
+++ b/lower-constraints.txt
@@ -16,6 +16,7 @@ future==0.16.0
gitdb==0.6.4
GitPython==1.0.1
idna==2.6
+importlib_metadata==1.7.0
iso8601==0.1.11
jsonschema==2.6.0
keyring==5.5.1
@@ -40,6 +41,7 @@ oslo.log==3.36.0
oslo.serialization==2.18.0
oslo.utils==3.33.0
oslotest==3.2.0
+packaging==20.4
paramiko==2.0.0
pbr==2.0.0
pep257==0.7.0
diff --git a/requirements.txt b/requirements.txt
index 65e83de..d60afab 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -13,3 +13,5 @@ oslo.utils>=3.33.0 # Apache-2.0
requests>=2.14.2 # Apache-2.0
six>=1.10.0 # MIT
stevedore>=1.20.0 # Apache-2.0
+importlib_metadata>=1.7.0;python_version<'3.8' # Apache-2.0
+packaging>=20.4 # BSD