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

1"""nskit. 

2 

3Namespace development kit, helpful scaffolding for building python namespace repos (and other software). 

4""" 

5 

6 

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 

44 

45 

46__version__ = __get_version() 

47 

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