33 lines
930 B
Python
33 lines
930 B
Python
|
|
"""Analysis package.
|
||
|
|
|
||
|
|
This package contains the refactored analysis modules.
|
||
|
|
|
||
|
|
Notes:
|
||
|
|
- The legacy entrypoint remains `app.services.analysis_system.TimeSeriesAnalysisSystem`.
|
||
|
|
- Importing `app.services.analysis_system` eagerly here would create a circular import because
|
||
|
|
`analysis_system` imports `app.services.analysis.modules.*`.
|
||
|
|
"""
|
||
|
|
|
||
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from typing import Any, TYPE_CHECKING
|
||
|
|
|
||
|
|
__all__ = ["TimeSeriesAnalysisSystem"]
|
||
|
|
|
||
|
|
|
||
|
|
if TYPE_CHECKING:
|
||
|
|
from app.services.analysis_system import TimeSeriesAnalysisSystem as TimeSeriesAnalysisSystem
|
||
|
|
|
||
|
|
|
||
|
|
def __getattr__(name: str) -> Any:
|
||
|
|
if name == "TimeSeriesAnalysisSystem":
|
||
|
|
from app.services.analysis_system import TimeSeriesAnalysisSystem
|
||
|
|
|
||
|
|
return TimeSeriesAnalysisSystem
|
||
|
|
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
||
|
|
|
||
|
|
|
||
|
|
def __dir__() -> list[str]:
|
||
|
|
return sorted(list(globals().keys()) + __all__)
|
||
|
|
|