Coverage for src/evutils/vis/__init__.py: 75%

8 statements  

« prev     ^ index     » next       coverage.py v7.15.1, created at 2026-07-18 05:24 +0000

1"""Visualization tools for event camera data. 

2 

3This package contains various visualization tools for event streams, 

4including 3D plots, Open3D point clouds, and video reconstruction. 

5 

6Submodules are imported lazily (via ``__getattr__``, mirroring 

7:mod:`evutils`) so ``import evutils.vis`` does not eagerly pull in the heavy 

8``cv2`` / ``matplotlib`` / ``open3d`` / ``torch`` stacks. Access 

9``evutils.vis.plot3d`` / ``evutils.vis.reconstructor`` / ``evutils.vis.open3d`` 

10to resolve them on first use. 

11""" 

12import importlib 

13 

14__all__ = ['reconstructor', 'plot3d', 'open3d'] 

15 

16 

17def __getattr__(name: str): 

18 if name in __all__: 

19 return importlib.import_module(f".{name}", __name__) 

20 raise AttributeError(f"module {__name__!r} has no attribute {name!r}") 

21 

22 

23def __dir__(): 

24 return __all__