[project]
name = "stt"
version = "0.11.0"
description = "STT — client vocal Jarvis du homelab Funk (voix + HUD, parle au STT-server)"
requires-python = ">=3.11"
readme = "README.md"

# Client : voix locale + HUD. L'inférence est déléguée au STT-server (pas d'anthropic/qdrant ici).
dependencies = [
    "faster-whisper>=1.0.0",   # STT local
    "sounddevice>=0.4.6",      # capture micro
    "numpy>=1.24.0",
    "requests>=2.31.0",        # appels HTTP vers le STT-server
    "webrtcvad-wheels>=2.0.10",# VAD / wake word
    "websockets>=12.0",        # backend ↔ HUD
    "tomli-w>=1.0.0",          # écriture config TOML
]

# Backend ASR alternatif (asr_engine="onnx") : NVIDIA Parakeet/Canary/Nemotron en ONNX.
# Hors du core pour garder l'install légère. CPU : onnx ; GPU AMD : onnx-rocm.
[project.optional-dependencies]
onnx = ["onnx-asr>=0.11", "onnxruntime>=1.18"]
onnx-rocm = ["onnx-asr>=0.11", "onnxruntime-rocm>=1.18"]

[project.scripts]
stt = "stt.cli:main"

[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"

[tool.setuptools.packages.find]
where = ["."]
include = ["stt*"]

# Le HUD (assets web) est livré comme données du package stt/
[tool.setuptools.package-data]
stt = ["hud/*", "hud/**/*"]
