[project]
name = "companion"
version = "0.1.0"
description = "Personal companion AI with local RAG"
requires-python = ">=3.11"
dependencies = [
    "pydantic>=2.0",
    "lancedb>=0.9.0",
    "pyarrow>=15.0.0",
    "requests>=2.31.0",
    "watchdog>=4.0.0",
    "typer>=0.12.0",
    "rich>=13.0.0",
    "numpy>=1.26.0",
    "fastapi>=0.109.0",
    "uvicorn[standard]>=0.27.0",
    "httpx>=0.27.0",
    "sse-starlette>=2.0.0",
    "python-multipart>=0.0.9",
]

[project.optional-dependencies]
dev = [
    "pytest>=8.0.0",
    "pytest-asyncio>=0.23.0",
    "httpx>=0.27.0",
    "respx>=0.21.0",
]
train = [
    "unsloth>=2024.1.0",
    "torch>=2.1.0",
    "transformers>=4.36.0",
    "datasets>=2.14.0",
    "peft>=0.7.0",
    "accelerate>=0.25.0",
    "bitsandbytes>=0.41.0",
    "trl>=0.7.0",
]

[tool.hatch.build.targets.wheel]
packages = ["src/companion"]

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