[project] name = "why-agent" version = "0.1.0" description = "LangGraph agent that investigates why a metric moved" requires-python = ">=3.12" dependencies = [ "langgraph>=0.2", "langchain-openai>=0.2", "pydantic>=2.0", "duckdb>=1.0", "pyarrow>=16.0", "streamlit>=1.35", "pyyaml>=6.0", "python-dotenv>=1.0", ] [project.optional-dependencies] dev = [ "pytest>=8.0", "ruff>=0.4", "pyright>=1.1", ] server = [ "fastapi>=0.115", "uvicorn[standard]>=0.30", "sse-starlette>=2.1", "huggingface_hub>=0.25", ] [tool.ruff] line-length = 100 target-version = "py312" [tool.ruff.lint] select = ["E", "F", "I", "UP"] ignore = ["E501"] [tool.ruff.lint.isort] known-first-party = ["agent"] [tool.pytest.ini_options] testpaths = ["tests", "client/backend/tests"] [dependency-groups] dev = [ "pyright>=1.1.409", "pytest>=9.0.3", "ruff>=0.15.12", "httpx>=0.27", ]