summaryrefslogtreecommitdiff
path: root/venv/lib/python3.11/site-packages/litestar/utils/version.py
diff options
context:
space:
mode:
authorcyfraeviolae <cyfraeviolae>2024-04-03 03:17:55 -0400
committercyfraeviolae <cyfraeviolae>2024-04-03 03:17:55 -0400
commit12cf076118570eebbff08c6b3090e0d4798447a1 (patch)
tree3ba25e17e3c3a5e82316558ba3864b955919ff72 /venv/lib/python3.11/site-packages/litestar/utils/version.py
parentc45662ff3923b34614ddcc8feb9195541166dcc5 (diff)
no venv
Diffstat (limited to 'venv/lib/python3.11/site-packages/litestar/utils/version.py')
-rw-r--r--venv/lib/python3.11/site-packages/litestar/utils/version.py62
1 files changed, 0 insertions, 62 deletions
diff --git a/venv/lib/python3.11/site-packages/litestar/utils/version.py b/venv/lib/python3.11/site-packages/litestar/utils/version.py
deleted file mode 100644
index d7974eb..0000000
--- a/venv/lib/python3.11/site-packages/litestar/utils/version.py
+++ /dev/null
@@ -1,62 +0,0 @@
-from __future__ import annotations
-
-import re
-import sys
-from typing import Literal, NamedTuple
-
-__all__ = ("Version", "get_version", "parse_version")
-
-
-if sys.version_info >= (3, 10):
- import importlib.metadata as importlib_metadata
-else:
- import importlib_metadata
-
-
-_ReleaseLevel = Literal["alpha", "beta", "rc", "final"]
-_PRE_RELEASE_TAGS = {"alpha", "a", "beta", "b", "rc"}
-_PRE_RELEASE_TAGS_CONVERSIONS: dict[str, _ReleaseLevel] = {"a": "alpha", "b": "beta"}
-
-_VERSION_PARTS_RE = re.compile(r"(\d+|[a-z]+|\.)")
-
-
-class Version(NamedTuple):
- """Litestar version information"""
-
- major: int
- minor: int
- patch: int
- release_level: _ReleaseLevel
- serial: int
-
- def formatted(self, short: bool = False) -> str:
- version = f"{self.major}.{self.minor}.{self.patch}"
- if not short:
- version += f"{self.release_level}{self.serial}"
- return version
-
-
-def parse_version(raw_version: str) -> Version:
- """Parse a version string into a :class:`Version`"""
- parts = [p for p in _VERSION_PARTS_RE.split(raw_version) if p and p != "."]
- release_level: _ReleaseLevel = "final"
- serial = "0"
-
- if len(parts) == 3:
- major, minor, patch = parts
- elif len(parts) == 5:
- major, minor, patch, release_level, serial = parts # type: ignore[assignment]
- if release_level not in _PRE_RELEASE_TAGS:
- raise ValueError(f"Invalid release level: {release_level}")
- release_level = _PRE_RELEASE_TAGS_CONVERSIONS.get(release_level, release_level)
- else:
- raise ValueError(f"Invalid version: {raw_version}")
-
- return Version(
- major=int(major), minor=int(minor), patch=int(patch), release_level=release_level, serial=int(serial)
- )
-
-
-def get_version() -> Version:
- """Get the version of the installed litestar package"""
- return parse_version(importlib_metadata.version("litestar"))