Tai Truong
fix readme
d202ada
"""Module for package versioning."""
import contextlib
def get_version() -> str:
"""Retrieves the version of the package from a possible list of package names.
This accounts for after package names are updated for -nightly builds.
Returns:
str: The version of the package
Raises:
ValueError: If the package is not found from the list of package names.
"""
from importlib import metadata
pkg_names = [
"langflow",
"langflow-base",
"langflow-nightly",
"langflow-base-nightly",
]
version = None
for pkg_name in pkg_names:
with contextlib.suppress(ImportError, metadata.PackageNotFoundError):
version = metadata.version(pkg_name)
if version is None:
msg = f"Package not found from options {pkg_names}"
raise ValueError(msg)
return version
def is_pre_release(v: str) -> bool:
"""Returns a boolean indicating whether the version is a pre-release version.
Returns a boolean indicating whether the version is a pre-release version,
as per the definition of a pre-release segment from PEP 440.
"""
return any(label in v for label in ["a", "b", "rc"])