MCPcopy
hub / github.com/open-mmlab/mmtracking / digit_version

Function digit_version

mmtrack/__init__.py:17–54  ·  view source on GitHub ↗

Convert a version string into a tuple of integers. This method is usually used for comparing two versions. For pre-release versions: alpha < beta < rc. Args: version_str (str): The version string. length (int): The maximum number of version levels. Default: 4. Retu

(version_str: str, length: int = 4)

Source from the content-addressed store, hash-verified

15
16
17def digit_version(version_str: str, length: int = 4):
18 """Convert a version string into a tuple of integers.
19
20 This method is usually used for comparing two versions. For pre-release
21 versions: alpha < beta < rc.
22
23 Args:
24 version_str (str): The version string.
25 length (int): The maximum number of version levels. Default: 4.
26
27 Returns:
28 tuple[int]: The version info in digits (integers).
29 """
30 version = parse(version_str)
31 assert version.release, f'failed to parse version {version_str}'
32 release = list(version.release)
33 release = release[:length]
34 if len(release) < length:
35 release = release + [0] * (length - len(release))
36 if version.is_prerelease:
37 mapping = {'a': -3, 'b': -2, 'rc': -1}
38 val = -4
39 # version.pre can be None
40 if version.pre:
41 if version.pre[0] not in mapping:
42 warnings.warn(f'unknown prerelease version {version.pre[0]}, '
43 'version checking may go wrong')
44 else:
45 val = mapping[version.pre[0]]
46 release.extend([val, version.pre[-1]])
47 else:
48 release.extend([val, 0])
49
50 elif version.is_postrelease:
51 release.extend([1, version.post])
52 else:
53 release.extend([0, 0])
54 return tuple(release)
55
56
57mmcv_min_version = digit_version(MMCV_MIN)

Callers 3

test_digit_versionFunction · 0.90
__init__.pyFile · 0.85
build_dataloaderFunction · 0.85

Calls

no outgoing calls

Tested by 1

test_digit_versionFunction · 0.72