cryptography>=3.4.8
blake3>=0.3.3
numpy>=1.21.0
pydantic<3.0.0,>=2.0.0
Pillow>=10.2.0
ImageHash>=4.3.2
opencv-python>=4.8.0
boto3>=1.26.0
azure-storage-blob>=12.14.0

[all]
scikit-learn>=1.0.0
shap>=0.41.0
lime>=0.2.0.1
matplotlib>=3.5.0
seaborn>=0.11.0
pandas>=1.3.0
plotly>=5.0.0
reportlab>=3.6.0
librosa>=0.10.0
soundfile>=0.12.0
ffmpeg-python>=0.2.0
pyacoustid>=2.3.0
flask>=2.0.0
flask-cors>=3.0.10

[audio-advanced]
librosa>=0.10.0
soundfile>=0.12.0

[audio-fingerprint]
pyacoustid>=2.3.0

[dev]
pytest>=6.0.0
pytest-cov>=2.12.0
black>=21.0.0
flake8>=3.9.0
mypy>=0.910
pre-commit>=2.15.0

[docs]
sphinx>=4.0.0
sphinx-rtd-theme>=1.0.0
myst-parser>=0.15.0

[explainability]
shap>=0.41.0
lime>=0.2.0.1

[full]
scikit-learn>=1.0.0
shap>=0.41.0
lime>=0.2.0.1
matplotlib>=3.5.0
seaborn>=0.11.0
pandas>=1.3.0
plotly>=5.0.0
reportlab>=3.6.0

[ml]
scikit-learn>=1.0.0
pandas>=1.3.0

[multiformat]
ffmpeg-python>=0.2.0

[pdf]
reportlab>=3.6.0

[viz]
matplotlib>=3.5.0
seaborn>=0.11.0
plotly>=5.0.0

[watermarking-full]
librosa>=0.10.0
soundfile>=0.12.0
ffmpeg-python>=0.2.0
pyacoustid>=2.3.0

[web]
flask>=2.0.0
flask-cors>=3.0.10
