From 392922aa333f9777f98e7ce61ad46f69cd9ac455 Mon Sep 17 00:00:00 2001 From: Doug Hellmann Date: Sun, 5 Jul 2020 19:28:07 -0400 Subject: drop use of pkg_resources Importing pkg_resources scans all of the installed modules for data that won't be used. Switch to using importlib.metdata, which more efficiently loads the metadata for a package. Change-Id: Idd2a0d0026fef9296172c9995b428ea43a746483 Signed-off-by: Doug Hellmann --- oslo_config/generator.py | 13 +++++++++---- oslo_config/validator.py | 10 ++++++++-- 2 files changed, 17 insertions(+), 6 deletions(-) (limited to 'oslo_config') diff --git a/oslo_config/generator.py b/oslo_config/generator.py index 6f8b56f..f422587 100644 --- a/oslo_config/generator.py +++ b/oslo_config/generator.py @@ -25,15 +25,20 @@ Tool for generating a sample configuration file. See import collections import copy +import json import logging import operator import sys import textwrap -import json -import pkg_resources -import yaml +try: + # For Python 3.8 and later + import importlib.metadata as importlib_metadata +except ImportError: + # For everyone else + import importlib_metadata +import yaml from oslo_config import cfg import stevedore.named # noqa @@ -765,7 +770,7 @@ def generate(conf, output_file=None): def main(args=None): """The main function of oslo-config-generator.""" - version = pkg_resources.get_distribution('oslo.config').version + version = importlib_metadata.version('oslo.config') logging.basicConfig(level=logging.WARN) conf = cfg.ConfigOpts() register_cli_opts(conf) diff --git a/oslo_config/validator.py b/oslo_config/validator.py index e200b19..725a868 100644 --- a/oslo_config/validator.py +++ b/oslo_config/validator.py @@ -24,7 +24,13 @@ project then it returns those errors. import logging import sys -import pkg_resources +try: + # For Python 3.8 and later + import importlib.metadata as importlib_metadata +except ImportError: + # For everyone else + import importlib_metadata + import yaml from oslo_config import cfg @@ -132,7 +138,7 @@ def _validate(conf): def main(): """The main function of oslo-config-validator.""" - version = pkg_resources.get_distribution('oslo.config').version + version = importlib_metadata.version('oslo.config') logging.basicConfig(level=logging.INFO) conf = cfg.ConfigOpts() _register_cli_opts(conf) -- cgit v1.2.1