diff --git a/docs/source/upcoming_release_notes/403-mnt_dep_pkg_resources.rst b/docs/source/upcoming_release_notes/403-mnt_dep_pkg_resources.rst new file mode 100644 index 00000000..4b2883f4 --- /dev/null +++ b/docs/source/upcoming_release_notes/403-mnt_dep_pkg_resources.rst @@ -0,0 +1,22 @@ +403 mnt_dep_pkg_resources +######################### + +API Changes +----------- +- N/A + +Features +-------- +- N/A + +Bugfixes +-------- +- N/A + +Maintenance +----------- +- replace deprecated pkg_resources.working_set with importlib.metadata.distributions + +Contributors +------------ +- tangkong diff --git a/hutch_python/env_version.py b/hutch_python/env_version.py index e109c2a9..d3752e05 100644 --- a/hutch_python/env_version.py +++ b/hutch_python/env_version.py @@ -3,13 +3,12 @@ """ from __future__ import annotations +import importlib.metadata import logging import os import os.path import pkgutil -import pkg_resources - logger = logging.getLogger(__name__) _dev_ignore_list = ['ami', 'pdsapp'] @@ -42,10 +41,10 @@ def log_env() -> None: def dump_env() -> list[str]: """ Get all packages and versions from the current environment. - conda list is slow, use pkg_resources instead + conda list is slow, use importlib.metadata.distributions instead this might miss dev overrides """ - return sorted(str(pkg) for pkg in pkg_resources.working_set) + return sorted(str(dist.name) for dist in importlib.metadata.distributions()) def get_conda_env_name() -> str: