File size: 1,613 Bytes
d1ceb73 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
"""PyZMQ and 0MQ version functions."""
# Copyright (C) PyZMQ Developers
# Distributed under the terms of the Modified BSD License.
from __future__ import annotations
import re
from typing import Match, cast
from zmq.backend import zmq_version_info
__version__: str = "26.1.1"
_version_pat = re.compile(r"(\d+)\.(\d+)\.(\d+)(.*)")
_match = cast(Match, _version_pat.match(__version__))
_version_groups = _match.groups()
VERSION_MAJOR = int(_version_groups[0])
VERSION_MINOR = int(_version_groups[1])
VERSION_PATCH = int(_version_groups[2])
VERSION_EXTRA = _version_groups[3].lstrip(".")
version_info: tuple[int, int, int] | tuple[int, int, int, float] = (
VERSION_MAJOR,
VERSION_MINOR,
VERSION_PATCH,
)
if VERSION_EXTRA:
version_info = (
VERSION_MAJOR,
VERSION_MINOR,
VERSION_PATCH,
float('inf'),
)
__revision__: str = ''
def pyzmq_version() -> str:
"""return the version of pyzmq as a string"""
if __revision__:
return '+'.join([__version__, __revision__[:6]])
else:
return __version__
def pyzmq_version_info() -> tuple[int, int, int] | tuple[int, int, int, float]:
"""return the pyzmq version as a tuple of at least three numbers
If pyzmq is a development version, `inf` will be appended after the third integer.
"""
return version_info
def zmq_version() -> str:
"""return the version of libzmq as a string"""
return "%i.%i.%i" % zmq_version_info()
__all__ = [
'zmq_version',
'zmq_version_info',
'pyzmq_version',
'pyzmq_version_info',
'__version__',
'__revision__',
]
|