[project]
name = "deep-research-example"
version = "0.1.0"
description = "Deep research agent example using deepagents package"
requires-python = ">=3.11"
dependencies = [
    "langchain-openai>=1.0.2",
    "langchain-anthropic>=1.0.3",
    "langchain_tavily>=0.2.13",
    "pydantic>=2.0.0",
    "rich>=14.0.0",
    "jupyter>=1.0.0",
    "ipykernel>=6.20.0",
    "tavily-python>=0.5.0",
    "httpx>=0.28.1",
    "markdownify>=1.2.0",
    "deepagents>=0.2.6",
    "python-dotenv>=1.0.0",
    "langgraph-cli[inmem]>=0.1.55",
    "langchain-google-genai>=3.1.0",
]

[tool.uv]
override-dependencies = [
    "nbconvert>=7.17.0",  # CVE-2025-53000
    "protobuf>=6.33.5",  # CVE-2026-0994
]

[project.optional-dependencies]
dev = [
    "mypy>=1.11.1",
    "ruff>=0.6.1",
]

[build-system]
requires = ["setuptools>=73.0.0", "wheel"]
build-backend = "setuptools.build_meta"

[tool.setuptools]
packages = ["research_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",
    "UP035",
    "D417",
    "E501",
]

[tool.ruff.lint.per-file-ignores]
"tests/*" = ["D", "UP"]

[tool.ruff.lint.pydocstyle]
convention = "google"

[tool.ruff.lint.flake8-tidy-imports]
ban-relative-imports = "all"