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}") |