Coverage for .nox/test-3-12/lib/python3.12/site-packages/nskit/__init__.py: 74%
31 statements
« prev ^ index » next coverage.py v7.3.3, created at 2023-12-19 17:42 +0000
« prev ^ index » next coverage.py v7.3.3, created at 2023-12-19 17:42 +0000
1"""nskit.
3Namespace development kit, helpful scaffolding for building python namespace repos (and other software).
4"""
7def __get_version() -> str:
8 """Get version information or return default if unable to do so."""
9 # Default
10 version = '0+unknown'
11 # Development installation only
12 try:
13 # Look here for setuptools scm to update the version - for development environments only
14 from setuptools_scm import get_version # type: ignore
15 try:
16 version = get_version(root='../../', version_scheme='no-guess-dev', relative_to=__file__)
17 except LookupError:
18 pass
19 except ImportError:
20 pass
21 # Development installation without setuptools_scm or installed package
22 # try loading from file
23 if version == '0+unknown':
24 try:
25 from nskit._version import __version__ # noqa: F401
26 except ImportError:
27 pass
28 # Development installation without setuptools_scm
29 if version == '0+unknown':
30 # Use the metadata
31 import sys
32 if sys.version_info.major >= 3 and sys.version_info.minor >= 8:
33 from importlib.metadata import PackageNotFoundError
34 from importlib.metadata import version as parse_version
35 else:
36 from importlib_metadata import PackageNotFoundError
37 from importlib_metadata import version as parse_version # type: ignore
38 try:
39 version = parse_version("nskit")
40 except PackageNotFoundError:
41 # package is not installed
42 pass
43 return version
46__version__ = __get_version()
48from nskit.mixer import CodeRecipe, Recipe # noqa: F401, E402
49from nskit.recipes.python import PyRecipe, PyRepoMetadata # noqa: F401, E402
50from nskit.vcs import Codebase, Repo # noqa: F401, E402