from RealtimeTTS.engines import BaseEngine, TimingInfo from .orpheus_engine import OrpheusEngine __all__ = [ "BaseEngine", "TimingInfo", "OrpheusEngine", "OrpheusVoice", ] # Lazy loader functions for the engines in this subpackage. def _load_orpheus_engine(): from .orpheus_engine import OrpheusEngine, OrpheusVoice globals()["OrpheusEngine"] = OrpheusEngine globals()["OrpheusVoice"] = OrpheusVoice return OrpheusEngine # Map attribute names to lazy loader functions. _lazy_imports = { "OrpheusEngine": _load_orpheus_engine, "OrpheusVoice": _load_orpheus_engine, } def __getattr__(name): if name in _lazy_imports: return _lazy_imports[name]() raise AttributeError(f"module {__name__} has no attribute {name}")