numpy<2.0.0,>=1.24.0
pandas<3.0.0,>=2.0.0
scikit-learn<2.0.0,>=1.3.0
scipy<2.0.0,>=1.11.0
statsmodels<1.0.0,>=0.14.0
matplotlib<4.0.0,>=3.7.0
seaborn<1.0.0,>=0.12.0
joblib<2.0.0,>=1.3.0
torch<2.3.0,>=2.2.0
torchvision<0.18.0,>=0.17.0
openpyxl<4.0.0,>=3.1.0
gradio>=5.0.0
plotly>=5.17.0
jinja2>=3.1.0
markdown>=3.5.0
weasyprint>=60.0

[all]
black>=23.0.0
mcp>=1.0.0
gradio>=5.0.0
ipykernel>=6.25.0
ipywidgets>=8.1.0
jinja2>=3.1.0
markdown>=3.5.0
mypy>=1.5.0
mkdocstrings[python]>=0.24.0
mkdocs-material>=9.5.0
mkdocs>=1.5.0
nbconvert>=7.8.0
openpyxl>=3.1.0
plotly>=5.17.0
pre-commit>=3.5.0
pymdown-extensions>=10.0
pytest-cov>=4.1.0
pytest-xdist>=3.3.0
pytest>=7.4.0
ruff>=0.1.0
torch<2.3.0,>=2.2.0
torchvision<0.18.0,>=0.17.0
transformers>=4.39.0
weasyprint>=60.0

[dashboard]
gradio>=5.0.0

[dev]
pytest>=7.4.0
pytest-cov>=4.1.0
pytest-xdist>=3.3.0
black>=23.0.0
ruff>=0.1.0
mypy>=1.5.0
pre-commit>=3.5.0

[docs]
mkdocs>=1.5.0
mkdocs-material>=9.5.0
mkdocstrings[python]>=0.24.0
pymdown-extensions>=10.0

[e2e]
playwright>=1.40.0

[hf]
transformers>=4.39.0

[jupyter]
jupyter>=1.0.0
ipykernel>=6.25.0
nbconvert>=7.8.0
ipywidgets>=8.1.0

[mcp]
mcp>=1.0.0

[reporting]
plotly>=5.17.0
jinja2>=3.1.0
markdown>=3.5.0
weasyprint>=60.0
openpyxl>=3.1.0

[vae]
torch<2.3.0,>=2.2.0
torchvision<0.18.0,>=0.17.0
