# =============================================================================
# SuperModelingFactory - Requirements
# =============================================================================
# 风控建模工厂完整依赖清单
# 安装: pip install -r requirements.txt
#
# NOTE: numpy 上限固定为 <2。
# 本包所有 .so/.pyd 闭源扩展均基于 NumPy 1.x ABI 编译。
# NumPy 2.x 修改了 C-API (_ARRAY_API)，会导致 import 时触发
# AttributeError: _ARRAY_API not found，进而引发整条依赖链崩溃。
# 待所有扩展模块以 NumPy 2.x 重新编译后，方可移除此上限。
#
# NOTE: pandas 上限固定为 <3。
# pandas 3.x 要求 numpy>=2，但本包 numpy<2，在 Python 3.13 上
# pip 会静默装出 pandas 3.x + numpy 1.26 的不兼容组合，
# 导致 import 时 Access Violation (0xC0000005)。

# ---------------------------------------------------------------------------
# 核心依赖（所有子项目必需）
# ---------------------------------------------------------------------------
pandas>=1.5.0,<3
numpy>=1.23.0,<2
scipy>=1.9.0

# ---------------------------------------------------------------------------
# 建模引擎（Modeling_Tool 必需）
# ---------------------------------------------------------------------------
scikit-learn>=1.1.0
joblib>=1.2.0
python-dateutil>=2.8.0

# ---------------------------------------------------------------------------
# 梯度提升模型
# ---------------------------------------------------------------------------
lightgbm>=3.3.0
xgboost>=1.7.0

# ---------------------------------------------------------------------------
# 可视化
# ---------------------------------------------------------------------------
matplotlib>=3.5.0
seaborn>=0.12.0

# ---------------------------------------------------------------------------
# Excel 报告引擎（ExcelMaster / Report 必需）
# ---------------------------------------------------------------------------
xlsxwriter>=3.0.0
openpyxl>=3.0.0
Pillow>=9.0.0

# ---------------------------------------------------------------------------
# 进度条
# ---------------------------------------------------------------------------
tqdm>=4.64.0

# ---------------------------------------------------------------------------
# 可选依赖
# ---------------------------------------------------------------------------

# 超参数优化（WOE_Monotone_Binner 使用）
optuna>=4.0.0

# 统计模型（LR 逐步回归、VIF 计算）
statsmodels>=0.13.0

# 不平衡学习（SMOTE 采样等）
imbalanced-learn>=0.10.0

# 阿里云 MaxCompute 连接（ODPS_Tool）
pyodps>=0.11.0

# H2O 机器学习平台（utils 中有 H2O 辅助函数）
# h2o>=3.40.0
