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

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 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 

49 

50 

51__version__ = __get_version() 

52 

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