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
« prev ^ index » next coverage.py v7.5.3, created at 2025-08-02 00:12 +0000
1# fmt: off
3import ase.parallel as parallel
6def view(atoms, data=None, viewer='ase', repeat=None, block=False, **kwargs):
7 from ase.visualize.viewers import VIEWERS
9 if parallel.world.size > 1:
10 return None
12 vwr = VIEWERS[viewer.lower()]
13 handle = vwr.view(atoms, data=data, repeat=repeat, **kwargs)
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}')
21 return handle