# Fulloch CPU-image runtime deps (the slim "tiny + remote" image).
#
# Same pinned set as requirements.txt MINUS the GPU-only stack:
#   - no llama-cpp-python  (local 9B is GPU-image only)
#   - no qwen-asr / qwen-tts / flash-attn  (Qwen speech needs CUDA + flash-attn)
# torch (CPU build) is installed separately in Dockerfile.cpu from the CPU wheel
# index, so it's intentionally not listed here.

# Core
numpy==2.2.6
setuptools==80.9.0
word2number==1.1

# Calculator / date-resolver / unit-conversion (local, no network)
simpleeval==1.0.7
pint==0.25.3
python-dateutil==2.9.0.post0
Babel==2.17.0                # CLDR territory, currency, and timezone metadata for locale defaults

# Dashboard + setup wizard / settings console
fastapi==0.128.0
uvicorn==0.38.0
websockets==15.0.1
beautifulsoup4==4.14.2
python-dotenv==1.2.1
ruamel.yaml==0.18.16
huggingface_hub==0.36.2
openai==2.16.0
httpx==0.28.1
cryptography==46.0.3          # self-signed dashboard HTTPS cert on first launch (tls_certs)
spotipy==2.25.1                # direct Spotify Web API (tools/spotify.py, optional `spotify:` block)
arxiv==2.2.0                   # paper metadata search (tools/research.py, optional `research:` block)
airportsdata==20260803         # IATA airport timezone metadata for travel schedule evaluation

# Audio processing
soundfile==0.13.1
silero-vad==5.1.2

# AI/ML — Moonshine ASR (transformers) + Kokoro TTS + BGE note search.
transformers==4.57.6
accelerate==1.12.0
onnxruntime==1.23.2
openwakeword==0.6.0       # optional experimental idle wakeword gate
onnx==1.22.0                # FP16→FP32 patching for qwen3-tts-onnx CPU backend
sentence-transformers==5.1.2
misaki[en]==0.9.4   # G2P for the Kokoro ONNX TTS backend
wordninja==2.0.0   # split OOV run-on tokens ("partlycloudy") before Kokoro G2P
librosa==0.11.0   # Qwen3-ASR ONNX backend (asr.backend: qwen-onnx) mel features
sentencepiece==0.2.1  # Pocket TTS ONNX tokenizer
scipy==1.15.3         # Pocket TTS WAV reference resampling
