# ── Core ────────────────────────────────────────────────────────────────────── fastapi>=0.115.0 uvicorn[standard]>=0.32.0 httpx>=0.28.0 pydantic>=2.10.0 pydantic-settings>=2.7.0 structlog>=24.1.0 prometheus-fastapi-instrumentator>=7.0.0 # ── AI / LLM clients ────────────────────────────────────────────────────────── anthropic>=0.52.0 openai>=1.70.0 # ── Free zero-key search tools (hardcoded — no API secrets needed) ──────────── duckduckgo-search>=8.0.0 # DDG web search — no key # jina reader uses httpx directly — no lib needed (reader.jina.ai free endpoint) # arxiv uses httpx + xml.etree — stdlib only # wikipedia uses httpx directly — free REST API # github search uses httpx + GH_PAT from env # pypi/npm use httpx — public endpoints # ── Paid search tools (optional — used when keys are set) ──────────────────── exa-py>=1.3.0 tavily-python>=0.5.0 # ── Agent frameworks (ported from MADdegen/mcp-agent) ──────────────────────── mcp-agent>=0.0.5 # ── MCP / tool integrations ─────────────────────────────────────────────────── # Polymarket (prediction_markets.py uses httpx directly — no lib needed) # ── Database + cache ────────────────────────────────────────────────────────── asyncpg>=0.30.0 redis[asyncio]>=5.2.0 # ── Testing ─────────────────────────────────────────────────────────────────── pytest>=8.3.0 pytest-asyncio>=0.24.0 pytest-cov>=6.0.0 # ── Lint / type ─────────────────────────────────────────────────────────────── ruff>=0.9.0 mypy>=1.14.0 types-requests>=2.32.0