[project]
name = "pineagents-demo-server"
version = "0.1.0"
description = "云超服核心服务端（FastAPI + SQLite + JWT + RBAC）：身份/平台 API + 培训子应用（/api/*），统一对外 opc.pinesound.cn"
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
    "fastapi>=0.115.0",
    "uvicorn[standard]>=0.30.0",
    "pydantic>=2.7.0",
    "sqlalchemy[asyncio]>=2.0.30",
    "aiosqlite>=0.20.0",
    "asyncmy>=0.2.9",
    "redis>=5.0.0",
    "aioboto3>=13.0.0",
    "pyjwt>=2.8.0",
    "httpx>=0.27.0",
    "python-multipart>=0.0.12",
    "paho-mqtt>=1.6,<2",
    "dashscope>=1.27.1",
    "jinja2>=3.1.6",
    "nltk>=3.10.3",
    "numpy>=2.4.6",
    "openai>=3.3.1",
    "scipy>=1.17.1",
    "soundfile>=0.14.0",
    "websockets>=17.0.1",
    "torch>=2.13.0",
    "transformers>=5.15.1",
    "ultralytics>=8.4.127",
    "alembic>=1.19.1",
]

[dependency-groups]
dev = [
    "pytest>=8.0.0",
    "httpx>=0.27.0",
    "pytest-asyncio>=0.23.0",
]

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["app"]

[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-q"
