1"""The version information for nbformat."""
2
3# Use "hatchling version xx.yy.zz" to handle version changes
4from __future__ import annotations
5
6import re
7from importlib.metadata import version
8
9__version__ = version("nbformat") or "0.0.0"
10
11# matches tbump regex in pyproject.toml
12_version_regex = re.compile(
13 r"""
14 (?P<major>\d+)
15 \.
16 (?P<minor>\d+)
17 \.
18 (?P<patch>\d+)
19 (?P<pre>((a|b|rc)\d+))?
20 (\.
21 (?P<dev>dev\d*)
22 )?
23 """,
24 re.VERBOSE,
25)
26
27_version_fields = _version_regex.match(__version__).groupdict() # type:ignore[union-attr]
28version_info = tuple(
29 field
30 for field in (
31 int(_version_fields["major"]),
32 int(_version_fields["minor"]),
33 int(_version_fields["patch"]),
34 _version_fields["pre"],
35 _version_fields["dev"],
36 )
37 if field is not None
38)