Hide keyboard shortcuts

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) 

5 

6 

7def format_dependency(modname: str) -> Tuple[str, str]: 

8 """Return (name, info) for given module. 

9 

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' 

15 

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) 

22 

23 # (only packages have __path__, but we are importing packages.) 

24 info = get_python_package_path_description(module) 

25 return name, info 

26 

27 

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]