fastapi>=0.115.0
uvicorn[standard]>=0.32.0
cryptography>=42.0.0
httpx>=0.27.2
mss>=9.0.2
numpy>=2.1.3
pydantic>=2.9.2
pydantic-settings>=2.6.0
PyYAML>=6.0.2
structlog>=24.4.0
python-json-logger>=3.1.0
python-dateutil>=2.9.0
python-multipart>=0.0.12
jinja2>=3.1.0
zeroconf>=0.131.0
pyserial>=3.5
psutil>=5.9.0
nvidia-ml-py>=12.0.0
sounddevice>=0.5
aiomqtt>=2.0.0
openrgb-python>=0.2.15
opencv-python-headless>=4.8.0
websockets>=13.0
just-playback>=0.1.7

[:sys_platform == "win32"]
PyAudioWPatch>=0.2.12
pystray>=0.19.0
Pillow>=10.4.0

[ble]
bleak>=0.22

[camera]

[dev]
pytest>=8.3.3
pytest-asyncio>=0.24.0
pytest-cov>=6.0.0
respx>=0.21.1
black>=24.0.0
ruff>=0.6.0
opencv-python-headless>=4.8.0
Pillow>=10.4.0

[notifications]

[notifications:sys_platform == "linux"]
dbus-next>=0.2.3

[notifications:sys_platform == "win32"]
winrt-Windows.UI.Notifications>=3.0.0
winrt-Windows.UI.Notifications.Management>=3.0.0
winrt-Windows.Foundation>=3.0.0
winrt-Windows.Foundation.Collections>=3.0.0
winrt-Windows.ApplicationModel>=3.0.0

[perf]

[perf:sys_platform == "win32"]
dxcam>=0.0.5
bettercam>=1.0.0
windows-capture>=1.5.0

[scrcpy]
scrcpy-client>=0.5.0
