Spaces:
Running
Running
| [build-system] | |
| requires = ["setuptools>=61.0"] | |
| build-backend = "setuptools.build_meta" | |
| [project] | |
| name = "chittios" | |
| version = "1.4.0" | |
| description = "ChittiOS β a local-first household companion for Reachy Mini" | |
| readme = "README.md" | |
| requires-python = ">=3.10" | |
| # This app shell composes ChittiOS Core (`chittios_core`) and the HAL (`hal`): | |
| # `chittios/chittios/main.py` builds the real engines and hands them to | |
| # `chittios_core.orchestrator.ChittiOS`. Those two packages live at the repo root | |
| # and are VENDORED into this app's wheel at publish time (copied under `chittios/` | |
| # so a single `reachy-mini-app` wheel is self-contained) rather than pulled from | |
| # PyPI β they are not published as standalone distributions. The publish/vendor | |
| # step is the caller's; it is deliberately not run here. Until it is, install this | |
| # app from the repo root where `chittios_core` and `hal` are importable. | |
| dependencies = [ | |
| # The Reachy Mini SDK (the daemon also pre-seeds it into apps_venv). | |
| "reachy-mini>=1.9", | |
| # ChittiOS Core's base runtime (numpy + cv2 at module scope, model fetch, | |
| # encrypted store). Vendored alongside this shell at publish. | |
| "numpy>=1.26", | |
| "opencv-python>=4.8", | |
| "huggingface-hub>=0.23", | |
| "cryptography>=42.0", | |
| "keyring>=24.0", | |
| # The voice experience, torch-free so it fits the Reachy Mini's 3.7 GB of RAM | |
| # and tight disk. Face recognition is base (cv2); voice *identification* | |
| # (ECAPA/speechbrain/torch, ~2 GB) is deliberately dropped here, and the VAD | |
| # runs off faster-whisper's bundled ONNX Silero on onnxruntime rather than the | |
| # torch-backed silero-vad package. What remains: resample, VAD+STT, TTS, the | |
| # LLM client, mic capture, and Argon2id onboarding custody β none pull torch. | |
| "scipy>=1.11", | |
| "sounddevice>=0.4", | |
| "faster-whisper>=1.0", | |
| # faster-whisper's VAD (and any other ONNX model this app loads) runs on the | |
| # ONNX Runtime; pinned here because the VAD is now a first-class dependency of | |
| # the perception path, not just an implementation detail of STT. | |
| "onnxruntime>=1.17", | |
| # Fast on-device STT: Moonshine via sherpa-onnx (prebuilt aarch64 wheel, runs | |
| # on the ONNX Runtime above). The primary transcriber on the CM4 β ~0.85 s a | |
| # turn vs faster-whisper's ~4.7 s; faster-whisper stays the fallback. See | |
| # chittios_core.conversation.stt.MoonshineStt. | |
| "sherpa-onnx>=1.10", | |
| # Acoustic wake-word detection ("hey Jarvis" today, a custom "hey Chitti" model | |
| # later). Runs on the ONNX Runtime above; ships its own wake, mel-spectrogram, | |
| # and embedding models, so no wake asset is bundled. See conversation.wake. | |
| "openwakeword>=0.4", | |
| "piper-tts>=1.2", | |
| "httpx>=0.27", | |
| "argon2-cffi>=23.1", | |
| ] | |
| keywords = ["reachy-mini-app"] | |
| [project.entry-points."reachy_mini_apps"] | |
| chittios = "chittios.main:Chittios" | |
| [tool.setuptools] | |
| package-dir = { "" = "." } | |
| include-package-data = true | |
| [tool.setuptools.packages.find] | |
| where = ["."] | |
| [tool.setuptools.package-data] | |
| chittios = ["**/*"] # Also include all non-.py files |