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
« 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
6from grond.setup_info import git_sha1, local_modifications, \
7 version, long_version, installed_date
9guts_prefix = 'grond'
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="'"))
21def version_info():
23 deps = {}
25 try:
26 import pyrocko
27 deps['pyrocko'] = pyrocko.long_version
28 except ImportError:
29 pass
31 try:
32 import numpy
33 deps['numpy'] = numpy.__version__
34 except ImportError:
35 pass
37 try:
38 import scipy
39 deps['scipy'] = scipy.__version__
40 except ImportError:
41 pass
43 try:
44 import matplotlib
45 deps['matplotlib'] = matplotlib.__version__
46 except ImportError:
47 pass
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
56 import sys
57 deps['python'] = '%s.%s.%s' % sys.version_info[:3]
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)
67 return vi
70__all__ = ['VersionInfo']