Coverage for /usr/local/lib/python3.11/dist-packages/grond/info.py: 77%

43 statements  

« prev     ^ index     » next       coverage.py v6.5.0, created at 2025-04-03 09:31 +0000

1# https://pyrocko.org/grond - GPLv3 

2# 

3# The Grond Developers, 21st Century 

4from pyrocko.guts import Object, String, Dict, Bool 

5 

6from grond.setup_info import git_sha1, local_modifications, \ 

7 version, long_version, installed_date 

8 

9guts_prefix = 'grond' 

10 

11 

12class VersionInfo(Object): 

13 grond_version = String.T(yamlstyle="'") 

14 grond_long_version = String.T(yamlstyle="'") 

15 git_sha1 = String.T(optional=True, yamlstyle="'") 

16 local_modifications = Bool.T(optional=True) 

17 installed_date = String.T(optional=True, yamlstyle="'") 

18 dependencies = Dict.T(String.T(), String.T(yamlstyle="'")) 

19 

20 

21def version_info(): 

22 

23 deps = {} 

24 

25 try: 

26 import pyrocko 

27 deps['pyrocko'] = pyrocko.long_version 

28 except ImportError: 

29 pass 

30 

31 try: 

32 import numpy 

33 deps['numpy'] = numpy.__version__ 

34 except ImportError: 

35 pass 

36 

37 try: 

38 import scipy 

39 deps['scipy'] = scipy.__version__ 

40 except ImportError: 

41 pass 

42 

43 try: 

44 import matplotlib 

45 deps['matplotlib'] = matplotlib.__version__ 

46 except ImportError: 

47 pass 

48 

49 try: 

50 from pyrocko.gui.qt_compat import Qt 

51 deps['PyQt'] = Qt.PYQT_VERSION_STR 

52 deps['Qt'] = Qt.QT_VERSION_STR 

53 except ImportError: 

54 pass 

55 

56 import sys 

57 deps['python'] = '%s.%s.%s' % sys.version_info[:3] 

58 

59 vi = VersionInfo( 

60 grond_version=version, 

61 grond_long_version=long_version, 

62 git_sha1=git_sha1, 

63 local_modifications=local_modifications, 

64 installed_date=installed_date, 

65 dependencies=deps) 

66 

67 return vi 

68 

69 

70__all__ = ['VersionInfo']