# Fourier — DEPLOY (erable container) requirements: the LIGHT, torch-free stack.
#
# Unlike requirements.txt (which assumes a --system-site-packages venv that
# inherits the dev box's ML stack), this file is SELF-CONTAINED: the erable
# host has no GPU and no shared ML packages, so the Docker image installs
# everything it needs and NOTHING it doesn't. No torch, no CLAP, no demucs —
# the light V/A engine (engines/ears_light.py) runs on librosa + numpy alone.
# See SRE.md + DEPLOY.md.
#
# Build target: ~1.3 GB image, < 2 GB RAM at runtime, CPU-only.

fastapi>=0.115
uvicorn[standard]>=0.30
python-multipart>=0.0.9    # UploadFile / multipart form parsing

# light audio-intelligence (CPU, no torch)
numpy>=1.26,<2.3
librosa>=0.11               # spectral/chroma/tempo features (pulls scipy, numba, sklearn)
soundfile>=0.12             # content_id PCM decode + librosa wav/flac backend
pyloudnorm>=0.1             # BS.1770 integrated loudness (LUFS) for /loudness — pure-python, tiny

# /sources (#29) URL fetch — worker-only. Needs the `ffmpeg` BINARY on the host
# too (apt: ffmpeg) for the WAV transcode; yt-dlp shells out to it.
yt-dlp>=2024.0
