42 lines
656 B
Plaintext
42 lines
656 B
Plaintext
# Video Surveillance Portal — requirements
|
|
|
|
# Core
|
|
fastapi>=0.115,<1.0
|
|
uvicorn[standard]>=0.30,<1.0
|
|
pydantic>=2.0,<3.0
|
|
pydantic-settings>=2.0,<3.0
|
|
|
|
# ONVIF
|
|
onvif-zeep>=0.2.11,<1.0
|
|
|
|
# Redis
|
|
redis>=5.0,<6.0
|
|
|
|
# Database
|
|
sqlalchemy>=2.0,<3.0
|
|
aiosqlite>=0.20,<1.0
|
|
|
|
# HTTP client (ANPR, camera snapshots)
|
|
httpx>=0.27,<1.0
|
|
|
|
# Image processing
|
|
Pillow>=10.0,<12.0
|
|
opencv-python-headless>=4.9,<5.0
|
|
|
|
# ANPR
|
|
requests>=2.31,<3.0
|
|
|
|
# Alerts
|
|
# email via stdlib smtplib (no extra deps)
|
|
# twilio
|
|
twilio>=9.0,<10.0
|
|
|
|
# Recording (subprocess ffmpeg)
|
|
|
|
# Dev
|
|
ruff>=0.5,<1.0
|
|
mypy>=1.10,<2.0
|
|
pytest>=8.0,<9.0
|
|
pytest-asyncio>=0.24,<1.0
|
|
httpx-ws>=0.5,<1.0 # for testing WebSocket
|