[project] name = "ptsr-ai-agent" version = "0.1.0" description = "AI companion for patients with PTSD and depression between doctor visits (MedITron hackathon, synthetic data only)" requires-python = ">=3.11,<3.14" dependencies = [ "fastapi>=0.115", "uvicorn[standard]>=0.30", "sqlalchemy[asyncio]>=2.0", "asyncpg>=0.29", "pydantic>=2.7", "pydantic-settings>=2.3", "pyyaml>=6.0", "aiogram>=3.10", "gigachat>=0.1.33", "apscheduler>=3.10,<4", "httpx>=0.27", "streamlit>=1.38", "plotly>=5.22", "pandas>=2.2", "qrcode[pil]>=7.4", "tzdata>=2026.5", ] [dependency-groups] dev = [ "ruff>=0.6", "pytest>=8.2", "pytest-asyncio>=0.23", "aiosqlite>=0.20", ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["app"] [tool.ruff] line-length = 120 target-version = "py311" extend-exclude = [".claude", "docs"] [tool.ruff.lint] select = ["E", "F", "I", "B", "UP", "SIM", "ASYNC"] [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"]