pandas>=2.2
numpy>=1.26
scipy>=1.13
statsmodels>=0.14
scikit-learn>=1.5

[ai]
ollama>=0.3
pydantic>=2.7

[all]
openpyxl>=3.1
xlrd>=2.0
matplotlib>=3.8
seaborn>=0.13
xgboost>=2.0
lightgbm>=4.3
pyod>=2.0
shap>=0.45
ollama>=0.3
pydantic>=2.7
flask>=3.0
gunicorn>=22.0
werkzeug>=3.0
pyarrow<26,>=25.0
duckdb>=1.4

[arrow]
pyarrow<26,>=25.0

[dev]
pytest>=8.2
pytest-cov>=5.0
hypothesis>=6.100
build>=1.2
twine>=5.1
ruff>=0.6
pre-commit>=4.0
openpyxl>=3.1
xlrd>=2.0
matplotlib>=3.8
seaborn>=0.13
pydantic>=2.7

[docs]
mkdocs
mkdocs-material

[duckdb]
duckdb>=1.4
pyarrow<26,>=25.0

[excel]
openpyxl>=3.1
xlrd>=2.0

[ml]
xgboost>=2.0
lightgbm>=4.3
pyod>=2.0
shap>=0.45

[plot]
matplotlib>=3.8
seaborn>=0.13

[web]
flask>=3.0
gunicorn>=22.0
werkzeug>=3.0
