[project] name = "react-agent" version = "0.0.1" description = "Starter template for making a custom Reasoning and Action agent (using tool calling) in LangGraph." authors = [ { name = "William Fu-Hinthorn", email = "13333726+hinthornw@users.noreply.github.com" }, ] readme = "README.md" license = { text = "MIT" } requires-python = ">=3.11,<4.0" dependencies = [ "langgraph>=1.0.0", "langchain-openai>=0.2.0", "langchain-core>=0.3.0", ] [project.optional-dependencies] dev = ["mypy>=1.11.1", "ruff>=0.6.1", "fastapi>=0.115.0", "uvicorn[standard]>=0.32.0"] [build-system] requires = ["setuptools>=73.0.0", "wheel"] build-backend = "setuptools.build_meta" [tool.setuptools] packages = ["langgraph.templates.react_agent", "react_agent"] [tool.setuptools.package-dir] "langgraph.templates.react_agent" = "src/react_agent" "react_agent" = "src/react_agent" [tool.setuptools.package-data] "*" = ["py.typed"] [tool.ruff] lint.select = [ "E", # pycodestyle "F", # pyflakes "I", # isort "D", # pydocstyle "D401", # First line should be in imperative mood "T201", "UP", ] lint.ignore = [ "UP006", "UP007", # We actually do want to import from typing_extensions "UP035", # Relax the convention by _not_ requiring documentation for every function parameter. "D417", "E501", ] [tool.ruff.lint.per-file-ignores] "tests/*" = ["D", "UP"] [tool.ruff.lint.pydocstyle] convention = "google" [tool.uv] # CVE-2026-32597: pyjwt < 2.12.0 accepts unknown `crit` header extensions. # Transitive via langgraph-api -> pyjwt. Remove once langgraph-api requires pyjwt>=2.12.0. constraint-dependencies = ["pyjwt>=2.12.0"] [dependency-groups] dev = [ "anyio>=4.7.0", "pytest>=9.0.3", ]