pandas>=2.2
numpy>=2.0
scikit-learn>=1.5
statsmodels>=0.14
PyYAML>=6.0
scipy>=1.11
matplotlib>=3.7
openpyxl>=3.1
cvxpy>=1.4

[alfred]
requests>=2.28

[all]
macroforecast[alfred,anatomy,arch,catboost,deep,lightgbm,lime,markdown,mars,parquet,shap,tuning,validation,wizard,xgboost]

[anatomy]
anatomy

[arch]
arch>=6.0

[catboost]
catboost>=1.2

[ci]
pytest>=8.0
macroforecast[anatomy,arch,catboost,lightgbm,lime,markdown,parquet,shap,tuning,xgboost]

[deep]
torch>=2.0

[dev]
pytest>=8.0
macroforecast[all]

[docs]
sphinx>=7.0
pydata-sphinx-theme>=0.15
sphinx-design>=0.5
myst-parser>=2.0
sphinx-copybutton>=0.5

[lightgbm]
lightgbm>=4.0

[lime]
lime>=0.2

[markdown]
tabulate>=0.9

[mars]
pyearth>=0.1

[parquet]
pyarrow>=14.0

[shap]
shap>=0.47

[tuning]
optuna>=3.0

[typecheck]
mypy>=1.13

[validation]
rpy2>=3.5

[wizard]
solara>=1.30

[xgboost]
xgboost<3.1,>=3.0
