[project]
name = "ragent-core"
version = "0.1.1"
description = "Add your description here"
readme = "README.md"
authors = [
    { name = "Diego Peláez Paquico", email = "diegi97@gmail.com" }
]
requires-python = ">=3.11"
dependencies = [
    "backoff>=2.2.1",
    "bm25s>=0.2.13",
    "colorlog>=6.9.0",
    "matplotlib>=3.10.6",
    "mxbai-rerank>=0.1.6",
    "openai>=1.101.0",
    "pydantic>=2.11.7",
    "pylate>=1.3.4",
    "pystemmer>=3.0.0",
    "python-dotenv>=1.1.1",
    "rapidfuzz>=3.14.0",
    "snowballstemmer>=3.0.1",
    "sentence-transformers>=3.0.1",
    "tyro>=0.9.28",
    "verifiers>=0.1.9",
    "fire>=0.7.1",
    "umap-learn>=0.5.9.post2",
    "hdbscan>=0.8.40",
    "langchain-text-splitters>=1.1.0",
    "google-genai>=1.56.0",
    "tiktoken>=0.12.0",
]

[project.optional-dependencies]
train = [
    "verifiers[all]>=0.1.9",
    "flash-attn",
]

[project.scripts]
ragent = "ragent_core.cli:main"

[tool.uv.extra-build-dependencies]
flash-attn = [{ requirement = "torch", match-runtime = true }]

[tool.uv.extra-build-variables]
flash-attn = { FLASH_ATTENTION_SKIP_CUDA_BUILD = "TRUE" }

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

[dependency-groups]
dev = [
    "ipykernel>=6.30.1",
    "ipywidgets>=8.1.7",
]

[tool.pyright]
typeCheckingMode = "standard"
reportUnknownMemberType = "none"
reportUnknownArgumentType = "none"
reportUnknownParameterType = "none"
reportUnknownVariableType = "none"
reportUnknownLambdaType = "none"
