Spaces:
Sleeping
Sleeping
| """ | |
| tests/conftest.py | |
| Stubs out heavy external packages that are not installed in the CI / test | |
| environment β yfinance, sklearn, joblib β so that backend.main and the tool | |
| modules can be imported without errors. Each stub is only injected when the | |
| real package is absent; if the package IS installed the real one is used. | |
| """ | |
| import sys | |
| from unittest.mock import MagicMock | |
| # ββ Packages to stub when not installed βββββββββββββββββββββββββββββββββββββββ | |
| _OPTIONAL = [ | |
| "yfinance", | |
| # sklearn and every sub-module that tool_ml_signal imports at the top level | |
| "sklearn", | |
| "sklearn.ensemble", | |
| "sklearn.linear_model", | |
| "sklearn.preprocessing", | |
| "sklearn.model_selection", | |
| "sklearn.calibration", | |
| "sklearn.feature_selection", | |
| "sklearn.metrics", | |
| # joblib (used by sklearn internally and by tool_ml_signal.py) | |
| "joblib", | |
| # dotenv (python-dotenv) used in config/settings.py | |
| "dotenv", | |
| # autogen_ext used in config/settings.py model clients | |
| "autogen_ext", | |
| "autogen_ext.models", | |
| "autogen_ext.models.openai", | |
| "autogen_ext.models.anthropic", | |
| ] | |
| for _pkg in _OPTIONAL: | |
| if _pkg not in sys.modules: | |
| try: | |
| __import__(_pkg) | |
| except ModuleNotFoundError: | |
| sys.modules[_pkg] = MagicMock() | |