# What a student's installation needs to RUN the backend (no test tools). The add-on installs exactly the hash-locked
# versions in addon/requirements.lock, which is generated from this file:
#   uv pip compile backend/requirements.runtime.txt --universal --python-version 3.11 --generate-hashes -o addon/requirements.lock
fastapi
uvicorn
google-genai
numpy
onnxruntime
pydantic
python-dotenv
pypdfium2
pillow
# Screen-capture text (backend/app/capture/ocr.py): the OS's own OCR. pywinrt and pyobjc are MIT-licensed.
winrt-runtime; sys_platform == "win32"
winrt-Windows.Media.Ocr; sys_platform == "win32"
winrt-Windows.Graphics.Imaging; sys_platform == "win32"
winrt-Windows.Storage.Streams; sys_platform == "win32"
winrt-Windows.Globalization; sys_platform == "win32"
winrt-Windows.Foundation; sys_platform == "win32"
winrt-Windows.Foundation.Collections; sys_platform == "win32"
pyobjc-framework-Vision; sys_platform == "darwin"
# Voice dictation (backend/app/voice/transcribe.py): whisper.cpp through pywhispercpp (MIT). Intel Macs only have an old
# wheel, so voice is Windows and Apple Silicon for now.
pywhispercpp; sys_platform == "win32" or (sys_platform == "darwin" and platform_machine == "arm64")
