pandas>=2.0
numpy>=1.24
scikit-learn>=1.3
matplotlib>=3.7
joblib>=1.3
scipy>=1.10

[all]
xgboost>=2.0
lightgbm>=4.0
catboost>=1.2
optuna>=3.0
shap>=0.43
plotly>=5.0
seaborn>=0.12
pyarrow>=14.0
openpyxl>=3.1
sounddevice>=0.4.6
faster-whisper>=1.0.0
pynput>=1.7.6
psutil>=5.9.0

[all:python_version < "3.11"]
tomli>=2.0.0

[all:sys_platform == "win32"]
pywin32>=306

[boosting]
xgboost>=2.0
lightgbm>=4.0
catboost>=1.2

[dev]
pytest>=7.4
pytest-cov>=4.0

[explain]
shap>=0.43

[io]
pyarrow>=14.0
openpyxl>=3.1
sqlalchemy>=2.0

[mial]
sounddevice>=0.4.6
faster-whisper>=1.0.0
pynput>=1.7.6
psutil>=5.9.0

[mial:python_version < "3.11"]
tomli>=2.0.0

[mial:sys_platform == "win32"]
pywin32>=306

[tuning]
optuna>=3.0

[viz]
plotly>=5.0
seaborn>=0.12

[voice]
sounddevice>=0.4.6
faster-whisper>=1.0.0
pynput>=1.7.6
