[project]
name = "candlekeep"
version = "0.1.1"
description = "RAG knowledge base server with ChromaDB and MCP interface"
readme = "README.md"
requires-python = ">=3.10"
dependencies = [
    "fastmcp==2.14.5",
    "chromadb>=0.4.0",
    "sentence-transformers>=2.2.0",
    "spacy>=3.7.0",
    "pdfplumber>=0.10.0",
    "python-dotenv>=1.0.0",
    "pysqlite3>=0.5.0",
    "rank-bm25>=0.2.2",
    "numpy>=1.26.0",
]

[project.optional-dependencies]
colbert = [
    "ragatouille>=0.0.8,<0.1.0",
]
bedrock = [
    "boto3>=1.34.0",
]
dev = [
    "pytest>=8.0.0",
    "pytest-cov>=4.0.0",
]

[project.scripts]
candlekeep = "candlekeep:main"

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

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

[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
markers = [
    "unit: fast logic tests with no external dependencies",
    "benchmark: quality and latency audits",
    "integration: tests requiring a live ChromaDB connection",
    "slow: heavy benchmarks or long-running simulations",
    "experimental: tests for upcoming or missing features"
]
