requests>=2.34
Pillow>=12.0
imagehash>=4.3.2
exifread>=3.5

[all]
pillow-heif>=1.3
photoscript>=0.5.3
osxphotos>=0.69
face-recognition>=1.3
setuptools<81,>=68.0
scikit-learn>=1.8
fastapi>=0.136
uvicorn>=0.48
pydantic>=2.13
httpx2>=2.2
rawpy>=0.27

[dev]
pytest>=9.0
pytest-xdist>=3.8
pytest-cov>=7.0

[e2e]
playwright>=1.60
pytest-playwright>=0.8
requests>=2.34

[face]
face-recognition>=1.3
setuptools<81,>=68.0
scikit-learn>=1.8

[heic]
pillow-heif>=1.3

[lint]
mypy>=2.1
ruff>=0.15

[photos]
photoscript>=0.5.3

[photos-db]
osxphotos>=0.69

[raw]
rawpy>=0.27

[review]
fastapi>=0.136
uvicorn>=0.48
pydantic>=2.13
httpx2>=2.2

[screenshot]
playwright>=1.60
Pillow>=12.0

[security]
bandit>=1.9
pip-audit>=2.10
