Skip to content

Commit 97c638f

Browse files
authored
Add pkg_resources compatibility fallback using importlib.metadata (#6144)
- Handles pkg_resources deprecation/removal by providing a compatibility shim that uses importlib.metadata when pkg_resources is not available for nose tests Signed-off-by: Janusz Lisiecki <jlisiecki@nvidia.com>
1 parent cb65d67 commit 97c638f

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

dali/test/python/nose_utils.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,28 @@ def release_lock():
9595
imp_module.__dict__.update(context)
9696
sys.modules["imp"] = imp_module
9797
unittest._TextTestResult = unittest.TextTestResult
98+
99+
# Handle pkg_resources deprecation/removal
100+
try:
101+
import pkg_resources # noqa: F401
102+
except ImportError:
103+
from importlib import metadata
104+
import types
105+
106+
def iter_entry_points(group, name=None):
107+
"""Mimics pkg_resources.iter_entry_points using importlib.metadata."""
108+
eps = metadata.entry_points()
109+
selected = eps.select(group=group)
110+
111+
if name is not None:
112+
selected = [ep for ep in selected if ep.name == name]
113+
114+
return selected
115+
116+
pkg_resources_module = types.ModuleType("pkg_resources", "Mimics pkg_resources module")
117+
pkg_resources_module.iter_entry_points = iter_entry_points
118+
sys.modules["pkg_resources"] = pkg_resources_module
119+
98120
import nose.case
99121
import nose.inspector
100122
import nose.loader

0 commit comments

Comments
 (0)