Coverage for .nox/test-3-9/lib/python3.9/site-packages/nskit/common/lazy.py: 100%
10 statements
« prev ^ index » next coverage.py v7.4.2, created at 2024-02-25 17:38 +0000
« prev ^ index » next coverage.py v7.4.2, created at 2024-02-25 17:38 +0000
1"""Lazy import handlers."""
2import importlib.util
3import sys
6def lazy_import(name):
7 """Lazy import to resolve circular behaviours."""
8 spec = importlib.util.find_spec(name)
9 loader = importlib.util.LazyLoader(spec.loader)
10 spec.loader = loader
11 module = importlib.util.module_from_spec(spec)
12 sys.modules[name] = module
13 loader.exec_module(module)
14 return module