Skip to content

Commit 4138883

Browse files
committed
MNT: Use importlib.metadata instead of pkg_resources
Use PEP-440 compatible fallback
1 parent 36ea588 commit 4138883

File tree

2 files changed

+14
-16
lines changed

2 files changed

+14
-16
lines changed

templateflow/__init__.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,13 @@
66
try:
77
from ._version import __version__
88
except ModuleNotFoundError:
9-
from pkg_resources import get_distribution, DistributionNotFound
10-
9+
from importlib.metadata import version, PackageNotFoundError
1110
try:
12-
__version__ = get_distribution(__packagename__).version
13-
except DistributionNotFound:
14-
__version__ = "unknown"
15-
del get_distribution
16-
del DistributionNotFound
11+
__version__ = version(__packagename__)
12+
except PackageNotFoundError:
13+
__version__ = "0+unknown"
14+
del version
15+
del PackageNotFoundError
1716

1817
import os
1918
from . import api

templateflow/tests/test_version.py

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""Test _version.py."""
22
import sys
33
from collections import namedtuple
4-
from pkg_resources import DistributionNotFound
4+
from importlib.metadata import PackageNotFoundError
55
from importlib import reload
66
import templateflow
77

@@ -18,14 +18,13 @@ class _version:
1818

1919

2020
def test_version_scm1(monkeypatch):
21-
"""Retrieve the version via pkg_resources."""
21+
"""Retrieve the version via importlib.metadata."""
2222
monkeypatch.setitem(sys.modules, "templateflow._version", None)
2323

24-
def _dist(name):
25-
Distribution = namedtuple("Distribution", ["name", "version"])
26-
return Distribution(name, "success")
24+
def _ver(name):
25+
return "success"
2726

28-
monkeypatch.setattr("pkg_resources.get_distribution", _dist)
27+
monkeypatch.setattr("importlib.metadata.version", _ver)
2928
reload(templateflow)
3029
assert templateflow.__version__ == "success"
3130

@@ -35,8 +34,8 @@ def test_version_scm2(monkeypatch):
3534
monkeypatch.setitem(sys.modules, "templateflow._version", None)
3635

3736
def _raise(name):
38-
raise DistributionNotFound("No get_distribution mock")
37+
raise PackageNotFoundError("No get_distribution mock")
3938

40-
monkeypatch.setattr("pkg_resources.get_distribution", _raise)
39+
monkeypatch.setattr("importlib.metadata.version", _raise)
4140
reload(templateflow)
42-
assert templateflow.__version__ == "unknown"
41+
assert templateflow.__version__ == "0+unknown"

0 commit comments

Comments
 (0)