numpy<3,>=1.26
pandas<4,>=2.0
scipy<2,>=1.11
matplotlib<4,>=3.8
plotly<7,>=5.20
statsmodels<1,>=0.14
scikit-learn<2,>=1.4
jinja2<4,>=3.1
pydantic<3,>=2.6
PyYAML<7,>=6.0
requests<3,>=2.31
pypdf<7,>=6.14.2

[all]
shap>=0.45
hmmlearn>=0.3
cvxpy>=1.4
arch>=7.0
yfinance>=0.2.40
openpyxl>=3.1
pyarrow>=16

[data]
yfinance>=0.2.40
openpyxl>=3.1
pyarrow>=16

[dev]
pytest>=8
pytest-cov>=5
ruff>=0.9
mypy>=1.13
build>=1.2
twine>=5
pip-audit>=2.7
bandit[toml]>=1.7
detect-secrets>=1.5
cyclonedx-bom>=5.0

[docs]
mkdocs>=1.6
mkdocs-material>=9.5
mkdocstrings[python]>=0.25

[ml]
shap>=0.45
hmmlearn>=0.3

[optimization]
cvxpy>=1.4

[volatility]
arch>=7.0
