1"""Version info for notebook."""
2# Copyright (c) Jupyter Development Team.
3# Distributed under the terms of the Modified BSD License.
4import re
5from collections import namedtuple
6
7# Use "hatch version xx.yy.zz" to handle version changes
8__version__ = "7.2.2"
9
10# PEP440 version parser
11_version_regex = re.compile(
12 r"""
13 (?P<major>\d+)
14 \.
15 (?P<minor>\d+)
16 \.
17 (?P<micro>\d+)
18 (?P<releaselevel>((a|b|rc|\.dev)))?
19 (?P<serial>\d+)?
20 """,
21 re.VERBOSE,
22)
23
24_version_fields = _version_regex.match(__version__).groupdict() # type:ignore[union-attr]
25
26VersionInfo = namedtuple("VersionInfo", ["major", "minor", "micro", "releaselevel", "serial"]) # noqa: PYI024
27
28version_info = VersionInfo(
29 *[
30 field
31 for field in (
32 int(_version_fields["major"]),
33 int(_version_fields["minor"]),
34 int(_version_fields["micro"]),
35 _version_fields["releaselevel"] or "",
36 _version_fields["serial"] or "",
37 )
38 ]
39)