[project]
name = "open-xiaoai-xiaozhi"
version = "1.0.0"
description = "小爱音箱接入小智 AI"
requires-python = ">=3.12"
dependencies = [
    "asyncio>=3.4.3",
    "maturin>=1.8.3",
    "numpy>=2.2.3",
    "onnxruntime>=1.22.0",
    "opuslib-next>=1.1.4",
    "pyaudio>=0.2.14",
    "pypinyin>=0.54.0",
    "requests>=2.32.3",
    "sentencepiece>=0.2.0",
    "sherpa-onnx>=1.12.0",
    "websockets>=15.0.1",
]

[build-system]
requires = ["maturin>=1.0,<2.0"]
build-backend = "maturin"

[tool.maturin]
features = ["pyo3/extension-module"]

[tool.uv]
# Rebuild package when any rust files change 
# https://github.com/PyO3/maturin/issues/2314#issuecomment-2488542771
cache-keys = [
    { file = "pyproject.toml" },
    { file = "Cargo.toml" },
    { file = "src/**/*.rs" },
]
