_version.py 816 B

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