File size: 1,544 Bytes
5ee4f7e f11438f 41e3c24 54c3e65 e9f83b7 41e3c24 e9f83b7 5ee4f7e 1e41561 54c3e65 5ee4f7e 54c3e65 f11438f 1e41561 41e3c24 54c3e65 e9f83b7 1e41561 41e3c24 e9f83b7 54c3e65 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | from __future__ import annotations
from importlib import import_module
from typing import TYPE_CHECKING, Any
from .domain import (
Candidate,
CandidateScoringError,
RankedCandidate,
RerankConfig,
RerankRequest,
RerankResult,
)
from .keyboard_typo import KeyboardTypoConfig, KeyboardTypoCorrector
from .reranker import Reranker
from .romaji_ime import (
RomajiImeEngine,
RomajiImeResult,
RomajiInputError,
TypoCorrection,
WindowsImeBestOneProvider,
WindowsImeProviderError,
)
if TYPE_CHECKING:
from .sidecar_client import (
CandidateSource,
SidecarClient,
SidecarControlResult,
SidecarResult,
)
_LAZY_SIDECAR_EXPORTS = frozenset(
{"CandidateSource", "SidecarClient", "SidecarControlResult", "SidecarResult"}
)
def __getattr__(name: str) -> Any:
if name not in _LAZY_SIDECAR_EXPORTS:
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
value = getattr(import_module(".sidecar_client", __name__), name)
globals()[name] = value
return value
__all__ = [
"Candidate",
"CandidateScoringError",
"CandidateSource",
"KeyboardTypoConfig",
"KeyboardTypoCorrector",
"RankedCandidate",
"RerankConfig",
"RerankRequest",
"RerankResult",
"Reranker",
"RomajiImeEngine",
"RomajiImeResult",
"RomajiInputError",
"SidecarClient",
"SidecarControlResult",
"SidecarResult",
"TypoCorrection",
"WindowsImeBestOneProvider",
"WindowsImeProviderError",
]
|