Coverage for /builds/ase/ase/ase/dependencies.py : 100.00%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1import importlib
2from typing import List, Tuple
3from ase.utils import (search_current_git_hash,
4 get_python_package_path_description)
7def format_dependency(modname: str) -> Tuple[str, str]:
8 """Return (name, info) for given module.
10 If possible, info is the path to the module's package."""
11 try:
12 module = importlib.import_module(modname)
13 except ImportError:
14 return modname, 'not installed'
16 version = getattr(module, '__version__', '?')
17 name = f'{modname}-{version}'
18 if modname == 'ase':
19 githash = search_current_git_hash(module)
20 if githash:
21 name += '-{:.10}'.format(githash)
23 # (only packages have __path__, but we are importing packages.)
24 info = get_python_package_path_description(module)
25 return name, info
28def all_dependencies() -> List[Tuple[str, str]]:
29 names = ['ase', 'numpy', 'scipy', 'matplotlib', 'spglib',
30 'ase_ext', 'flask', 'psycopg2', 'pyamg']
31 return [format_dependency(name) for name in names]