perf: lazy-import in CLI commands to speed up startup (#335)

This commit is contained in:
d3vyce
2026-07-02 22:40:48 +02:00
committed by GitHub
parent fe2c0f3eff
commit 44ba5bdd4b
3 changed files with 23 additions and 5 deletions
+18 -3
View File
@@ -1,8 +1,6 @@
"""Fixture system for seeding databases with dependency resolution."""
from .enum import LoadStrategy
from .registry import Context, FixtureRegistry
from .utils import load_fixtures, load_fixtures_by_context
from .enum import Context, LoadStrategy
__all__ = [
"Context",
@@ -11,3 +9,20 @@ __all__ = [
"load_fixtures",
"load_fixtures_by_context",
]
_LAZY = {
"FixtureRegistry": ".registry",
"load_fixtures": ".utils",
"load_fixtures_by_context": ".utils",
}
def __getattr__(name: str):
module_name = _LAZY.get(name)
if module_name is None:
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
import importlib
module = importlib.import_module(module_name, __name__)
return getattr(module, name)