pyproject.toml (Tệp cấu hình kỹ thuật)

📋 Nguồn: pyproject.toml

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

[project]
name = "cxk-elderly-assistant"
version = "0.1.0"
description = "Trợ lý AI Cơ Xương Khớp Tuổi Bạc — Hệ thống hỗ trợ người cao tuổi tự chăm sóc hệ vận động"
readme = "README.md"
requires-python = ">=3.11"
authors = [
    { name = "Võ Trần Gia Hiếu", email = "votrangiahieu@gmail.com" }
]
dependencies = [
    "pyyaml>=6.0.1,<7"
]

[project.optional-dependencies]
backend = [
    "fastapi>=0.110.0,<1",
    "uvicorn>=0.28.0,<1",
    "pydantic>=2.6.0,<3"
]
dev = [
    "pytest>=8.0.0,<10",
    "httpx>=0.27.0,<1",
    "pytest-asyncio>=0.23.5",
    "black>=24.2.0",
    "flake8>=7.0.0",
    "isort>=5.13.2"
]
docs = ["Markdown>=3.6,<4"]
# Phụ thuộc thiết kế cũ; chưa được kiểm chứng hoặc cho phép gọi dịch vụ.
legacy_providers = ["google-generativeai>=0.4.1", "openai>=1.14.0"]
retrieval = ["chromadb>=0.4.24"]
database = ["pyodbc>=5.1.0"]
voice = [
    "google-cloud-speech>=2.26.0",
    "google-cloud-texttospeech>=2.16.0"
]
telegram = [
    "python-telegram-bot[webhooks]>=20.8"
]

[tool.setuptools.packages.find]
where = ["."]
include = ["backend*", "data-pipeline*"]

[tool.pytest.ini_options]
testpaths = ["testing/scripts", "backend/tests"]
pythonpath = ["."]
addopts = "-p no:cacheprovider"