Coverage for /builds/ase/ase/ase/visualize/__init__.py: 66.67%

12 statements  

« prev     ^ index     » next       coverage.py v7.5.3, created at 2025-08-02 00:12 +0000

1# fmt: off 

2 

3import ase.parallel as parallel 

4 

5 

6def view(atoms, data=None, viewer='ase', repeat=None, block=False, **kwargs): 

7 from ase.visualize.viewers import VIEWERS 

8 

9 if parallel.world.size > 1: 

10 return None 

11 

12 vwr = VIEWERS[viewer.lower()] 

13 handle = vwr.view(atoms, data=data, repeat=repeat, **kwargs) 

14 

15 if block and hasattr(handle, 'wait'): 

16 status = handle.wait() 

17 if status != 0: 

18 raise RuntimeError(f'Viewer "{vwr.name}" failed with status ' 

19 '{status}') 

20 

21 return handle