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

[project]
name = "ra-aid"
dynamic = ["version"]
description = "RA.Aid - ReAct Aid"
readme = "README.md"
license = {file = "LICENSE"}
requires-python = ">=3.9"
keywords = ["langchain", "ai", "agent", "tools", "development"]
authors = [{name = "AI Christianson", email = "ai.christianson@christianson.ai"}]
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: Apache Software License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Topic :: Software Development :: Libraries :: Python Modules"
]
dependencies = [
    "langchain-anthropic>=0.3.8",
    "langchain-openai>=0.3.7",
    "langchain-google-genai>=2.0.11",
    "langgraph>=0.2.74",
    "langgraph-checkpoint>=2.0.16",
    "langchain-core>=0.3.40",
    "langgraph-prebuilt>=0.1.0",
    "langchain>=0.3.19",
    "rich>=13.0.0",
    "GitPython>=3.1",
    "fuzzywuzzy==0.18.0",
    "rapidfuzz>=3.11.0",
    "pathspec>=0.11.0",
    "pyte>=0.8.2",
    "aider-chat>=0.75.1",
    "tavily-python>=0.5.0",
    "litellm>=1.60.6",
    "fastapi>=0.104.0",
    "uvicorn>=0.24.0",
    "websockets>=12.0",
    "jinja2>=3.1.2",
    "python-Levenshtein>=0.26.1",
    "python-magic>=0.4.27",
    "peewee>=3.17.9",
    "peewee-migrate>=1.13.0",
    "platformdirs>=3.17.9",
    "requests",
    "packaging",
]

[project.optional-dependencies]
dev = [
    "pytest-timeout>=2.2.0",
    "pytest>=7.0.0",
    "pytest-cov>=6.0.0",
    "pytest-mock>=3.14.0",
]

[project.scripts]
ra-aid = "ra_aid.__main__:main"

[project.urls]
Homepage = "https://github.com/ai-christianson/RA.Aid"
Documentation = "https://github.com/ai-christianson/RA.Aid#readme"
Repository = "https://github.com/ai-christianson/RA.Aid.git"
Issues = "https://github.com/ai-christianson/RA.Aid/issues"

[tool.setuptools.dynamic]
version = {attr = "ra_aid.version.__version__"}

[tool.hatch.version]
path = "ra_aid/__version__.py"

[tool.hatch.build.targets.wheel]
packages = ["ra_aid"]
