import re from typing import List from typing import Union __version__ = "7.3.1" # Build up version_info tuple for backwards compatibility pattern = r'(?P\d+).(?P\d+).(?P\d+)(?P.*)' match = re.match(pattern, __version__) if match: parts: List[Union[int, str]] = [int(match[part]) for part in ['major', 'minor', 'patch']] if match['rest']: parts.append(match['rest']) else: parts = [] version_info = tuple(parts) protocol_version_info = (5, 3) protocol_version = "%i.%i" % protocol_version_info