Coverage for .nox/test-3-9/lib/python3.9/site-packages/nskit/__init__.py: 74%
27 statements
« prev ^ index » next coverage.py v7.4.2, created at 2024-02-25 17:38 +0000
« prev ^ index » next coverage.py v7.4.2, created at 2024-02-25 17:38 +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 default_version = '0+unknown'
11 version = default_version
12 # Development installation only
13 try:
14 # Look here for setuptools scm to update the version - for development environments only
15 from setuptools_scm import get_version # type: ignore
16 try:
17 version = get_version(root='../../', version_scheme='no-guess-dev', relative_to=__file__)
18 except LookupError:
19 pass
20 except ImportError:
21 pass
22 # Development installation without setuptools_scm or installed package
23 # try loading from file
24 if version == default_version:
25 try:
26 from nskit._version import __version__ # noqa: F401
27 except ImportError:
28 pass
29 # Development installation without setuptools_scm
30 if version == default_version:
31 # Use the metadata
32 import sys
33 if sys.version_info.major >= 3 and sys.version_info.minor >= 8:
34 from importlib.metadata import (
35 PackageNotFoundError,
36 version as parse_version,
37 )
38 else:
39 from importlib_metadata import ( # type: ignore
40 PackageNotFoundError,
41 version as parse_version,
42 )
43 try:
44 version = parse_version("nskit")
45 except PackageNotFoundError:
46 # package is not installed
47 pass
48 return version
51__version__ = __get_version()
53# from nskit.mixer import CodeRecipe, Recipe # noqa: F401, E402
54# from nskit.recipes.python import PyRecipe, PyRepoMetadata # noqa: F401, E402
55# from nskit.vcs import Codebase, Repo # noqa: F401, E402