ai-content-maker/.venv/Lib/site-packages/numba/misc/init_utils.py

45 lines
1.2 KiB
Python
Raw Normal View History

2024-05-03 04:18:51 +03:00
"""Collection of miscellaneous initialization utilities."""
from collections import namedtuple
version_info = namedtuple('version_info',
('major minor patch short full '
'string tuple git_revision'))
def generate_version_info(version):
"""Process a version string into a structured version_info object.
Parameters
----------
version: str
a string describing the current version
Returns
-------
version_info: tuple
structured version information
See also
--------
Look at the definition of 'version_info' in this module for details.
"""
parts = version.split('.')
def try_int(x):
try:
return int(x)
except ValueError:
return None
major = try_int(parts[0]) if len(parts) >= 1 else None
minor = try_int(parts[1]) if len(parts) >= 2 else None
patch = try_int(parts[2]) if len(parts) >= 3 else None
short = (major, minor)
full = (major, minor, patch)
string = version
tup = tuple(parts)
git_revision = tup[3] if len(tup) >= 4 else None
return version_info(major, minor, patch, short, full, string, tup,
git_revision)