1
1
""" Routines to support optional packages """
2
- from distutils .version import LooseVersion
2
+ from packaging .version import Version
3
3
from .tripwire import TripWire
4
4
5
5
6
6
def _check_pkg_version (pkg , min_version ):
7
7
# Default version checking function
8
8
if isinstance (min_version , str ):
9
- min_version = LooseVersion (min_version )
9
+ min_version = Version (min_version )
10
10
try :
11
- return min_version <= pkg .__version__
11
+ return min_version <= Version ( pkg .__version__ )
12
12
except AttributeError :
13
13
return False
14
14
@@ -24,9 +24,9 @@ def optional_package(name, trip_msg=None, min_version=None):
24
24
message to give when someone tries to use the return package, but we
25
25
could not import it at an acceptable version, and have returned a
26
26
TripWire object instead. Default message if None.
27
- min_version : None or str or LooseVersion or callable
27
+ min_version : None or str or Version or callable
28
28
If None, do not specify a minimum version. If str, convert to a
29
- `distutils .version.LooseVersion` . If str or LooseVersion ` compare to
29
+ ``packaging .version.Version`` . If str or ``Version` ` compare to
30
30
version of package `name` with ``min_version <= pkg.__version__``. If
31
31
callable, accepts imported ``pkg`` as argument, and returns value of
32
32
callable is True for acceptable package versions, False otherwise.
0 commit comments