Compare Python agent SDKs
Vidbyte SDK vs OpenAI Agents SDK vs LangGraph vs Pydantic AI
Four MIT-licensed Python agent SDKs side by side: vidbyte-sdk 0.4.0, OpenAI Agents SDK 0.24.0, LangGraph 1.2.18, and Pydantic AI 2.61.0. Every cell was checked on 2026-10-27 against the project's own docs and source, or vidbyte-sdk's published package.
At a glance
"Not found" means a search of that project's docs and source on 2026-10-27 found nothing; it is not the project saying the feature is impossible. These projects release often, so check the sources at the bottom before you decide.
- US-dollar spending cap per run
- vidbyte-sdk 0.4.0Yes.
AgentLoopSettings(max_spend_usd=...), checked between steps, so it is not a maximum bill. Linear, Jev and infinite-memory runtimes; other runtimes and unpriced models are refused when the agent is built, and a run stops if its spend can't be measured - OpenAI Agents SDK 0.24.0Not found in docs; token usage is tracked so you can enforce your own limit
- LangGraph 1.2.18Not found in docs or source
- Pydantic AI 2.61.0Yes, best-effort.
UsageLimits(cost_limit=...), checked after each response; a run that can't be priced warns and keeps going - Token budget per run
- vidbyte-sdk 0.4.0Yes.
max_tokenscounts every model call in the run (linear-loop runtimes) - OpenAI Agents SDK 0.24.0No run-level budget found;
max_turns, andmax_tokensper call - LangGraph 1.2.18Not found;
recursion_limitcaps graph steps, not tokens - Pydantic AI 2.61.0Yes. Input, output, total and per-request token limits
- Evals
- vidbyte-sdk 0.4.0In the package:
EvalCase,EvalSuite,EvalRunnerand graders - OpenAI Agents SDK 0.24.0Not in the package; the docs point to OpenAI's hosted Evals
- LangGraph 1.2.18Not in langgraph; the
agentevalspackage and LangSmith (hosted) - Pydantic AI 2.61.0Pydantic Evals, installed with
pydantic-ai - Context compaction
- vidbyte-sdk 0.4.0Opt-in middleware: trim to a token budget, or summarize with a summarizer you supply
- OpenAI Agents SDK 0.24.0Opt-in, OpenAI Responses API only
- LangGraph 1.2.18Manual (
trim_messagesor your own summarize node); LangChain'sSummarizationMiddlewareis opt-in - Pydantic AI 2.61.0Opt-in: OpenAI and Anthropic native compaction, or your own history processor
- Tracing
- vidbyte-sdk 0.4.0Built in, off by default; adapters for LangSmith, Langfuse and Arize Phoenix
- OpenAI Agents SDK 0.24.0Built in and on by default, sent to OpenAI's Traces dashboard (not available under Zero Data Retention)
- LangGraph 1.2.18Through LangSmith (hosted), turned on with
LANGSMITH_TRACING=true - Pydantic AI 2.61.0OpenTelemetry, off by default; Logfire or any OpenTelemetry backend
- Use tools from MCP servers
- vidbyte-sdk 0.4.0Yes, stdio servers
- OpenAI Agents SDK 0.24.0Yes: stdio, SSE, Streamable HTTP, and hosted MCP
- LangGraph 1.2.18Through
langchain[mcp](beta) - Pydantic AI 2.61.0Yes
- Serve your agents over MCP
- vidbyte-sdk 0.4.0Yes.
McpStudioServer(stdio) serves the agents, tools and pipelines you register in a small launcher; the barevidbyte-mcp-servercommand starts with none - OpenAI Agents SDK 0.24.0Not found in docs or source
- LangGraph 1.2.18Agent Server's
/mcpendpoint, inlanggraph-api(Elastic-2.0 license, not MIT) - Pydantic AI 2.61.0Wrap an agent in a tool of the
mcpSDK (the docs show FastMCP); no built-in exporter found - Multi-agent and orchestration
- vidbyte-sdk 0.4.07 runtimes (linear, tree search, three actor-model variants, Jev, infinite-memory), orchestrators, state-machine workflows and pipelines
- OpenAI Agents SDK 0.24.0Handoffs and agents as tools; durable runs through Temporal, Dapr, Restate or DBOS
- LangGraph 1.2.18Graphs, subgraphs, and durable execution with checkpointers
- Pydantic AI 2.61.0Delegation, hand-off and graphs; durable runs through Temporal, DBOS, Prefect or Restate
- Model providers
- vidbyte-sdk 0.4.014 providers, called with your own key or through a Vidbyte API key
- OpenAI Agents SDK 0.24.0OpenAI built in; other models through OpenAI-compatible endpoints or beta LiteLLM and any-llm adapters
- LangGraph 1.2.18Model-agnostic; brings no model client of its own
- Pydantic AI 2.61.0Many providers, swappable by name
- License, version, released
- vidbyte-sdk 0.4.0MIT · 0.4.0 · 2026-10-25 (alpha)
- OpenAI Agents SDK 0.24.0MIT · 0.24.0 · 2026-10-15
- LangGraph 1.2.18MIT · 1.2.18 · 2026-10-26
- Pydantic AI 2.61.0MIT · 2.61.0 · 2026-10-24
- Install, Python
- vidbyte-sdk 0.4.0
pip install vidbyte-sdk· 3.11+ - OpenAI Agents SDK 0.24.0
pip install openai-agents· 3.10+ - LangGraph 1.2.18
pip install -U langgraph· 3.10+ - Pydantic AI 2.61.0
pip install pydantic-ai· 3.11+
| Capability | vidbyte-sdk 0.4.0 | OpenAI Agents SDK 0.24.0 | LangGraph 1.2.18 | Pydantic AI 2.61.0 |
|---|---|---|---|---|
| US-dollar spending cap per run | Yes. AgentLoopSettings(max_spend_usd=...), checked between steps, so it is not a maximum bill. Linear, Jev and infinite-memory runtimes; other runtimes and unpriced models are refused when the agent is built, and a run stops if its spend can't be measured | Not found in docs; token usage is tracked so you can enforce your own limit | Not found in docs or source | Yes, best-effort. UsageLimits(cost_limit=...), checked after each response; a run that can't be priced warns and keeps going |
| Token budget per run | Yes. max_tokens counts every model call in the run (linear-loop runtimes) | No run-level budget found; max_turns, and max_tokens per call | Not found; recursion_limit caps graph steps, not tokens | Yes. Input, output, total and per-request token limits |
| Evals | In the package: EvalCase, EvalSuite, EvalRunner and graders | Not in the package; the docs point to OpenAI's hosted Evals | Not in langgraph; the agentevals package and LangSmith (hosted) | Pydantic Evals, installed with pydantic-ai |
| Context compaction | Opt-in middleware: trim to a token budget, or summarize with a summarizer you supply | Opt-in, OpenAI Responses API only | Manual (trim_messages or your own summarize node); LangChain's SummarizationMiddleware is opt-in | Opt-in: OpenAI and Anthropic native compaction, or your own history processor |
| Tracing | Built in, off by default; adapters for LangSmith, Langfuse and Arize Phoenix | Built in and on by default, sent to OpenAI's Traces dashboard (not available under Zero Data Retention) | Through LangSmith (hosted), turned on with LANGSMITH_TRACING=true | OpenTelemetry, off by default; Logfire or any OpenTelemetry backend |
| Use tools from MCP servers | Yes, stdio servers | Yes: stdio, SSE, Streamable HTTP, and hosted MCP | Through langchain[mcp] (beta) | Yes |
| Serve your agents over MCP | Yes. McpStudioServer (stdio) serves the agents, tools and pipelines you register in a small launcher; the bare vidbyte-mcp-server command starts with none | Not found in docs or source | Agent Server's /mcp endpoint, in langgraph-api (Elastic-2.0 license, not MIT) | Wrap an agent in a tool of the mcp SDK (the docs show FastMCP); no built-in exporter found |
| Multi-agent and orchestration | 7 runtimes (linear, tree search, three actor-model variants, Jev, infinite-memory), orchestrators, state-machine workflows and pipelines | Handoffs and agents as tools; durable runs through Temporal, Dapr, Restate or DBOS | Graphs, subgraphs, and durable execution with checkpointers | Delegation, hand-off and graphs; durable runs through Temporal, DBOS, Prefect or Restate |
| Model providers | 14 providers, called with your own key or through a Vidbyte API key | OpenAI built in; other models through OpenAI-compatible endpoints or beta LiteLLM and any-llm adapters | Model-agnostic; brings no model client of its own | Many providers, swappable by name |
| License, version, released | MIT · 0.4.0 · 2026-10-25 (alpha) | MIT · 0.24.0 · 2026-10-15 | MIT · 1.2.18 · 2026-10-26 | MIT · 2.61.0 · 2026-10-24 |
| Install, Python | pip install vidbyte-sdk · 3.11+ | pip install openai-agents · 3.10+ | pip install -U langgraph · 3.10+ | pip install pydantic-ai · 3.11+ |
Where vidbyte-sdk differs
Three things the table shows that matter when you pick an SDK for agents that spend money or run for a long time.
Spend it can't measure stops the run — vidbyte-sdk and Pydantic AI both cap a run in US dollars, and both check between steps, so neither guarantees the final bill. The difference is what happens when a call can't be priced: vidbyte-sdk refuses to build an agent whose model has no price and stops a run whose spend it can no longer measure, while Pydantic AI warns and keeps going.
Evals and an MCP server in the same install —
EvalSuiteandMcpStudioServership inside vidbyte-sdk. The OpenAI Agents SDK points to hosted Evals, and LangGraph's MCP server is part of the separately licensed Agent Server.Several runtimes behind one agent — The same agent can run as a linear loop, a tree search, an actor-model team, a Jev decision layer, or an infinite-memory run that hands work to sub-agents.
What to know before you choose vidbyte-sdk
The limits a fair comparison should name.
It is alpha — vidbyte-sdk 0.4.0 is marked alpha on PyPI; the other three are past their first stable releases or close to them, with larger user bases.
The dollar cap covers three runtimes — Linear, Jev and infinite-memory. An agent on another runtime with
max_spend_usdset is refused when it is built, not run without a cap.Compaction is opt-in — Trimming or summarizing history is middleware you add; nothing compacts automatically when the context fills.
MCP over stdio only — Both the MCP client and
McpStudioServeruse stdio; there is no HTTP transport in 0.4.0.
When another SDK fits better
Each of the other three is the stronger pick for some teams.
OpenAI Agents SDK — You build mainly on OpenAI models and want tracing that works with no setup in OpenAI's dashboard, plus hosted MCP through the Responses API.
LangGraph — You want explicit graphs with durable checkpoints, and your team already uses LangChain packages and LangSmith.
Pydantic AI — You want many providers swappable by name, Pydantic Evals, and token and dollar limits in one
UsageLimitsobject.
Questions people ask
Short answers, from the table above.
Which Python agent SDK can stop a run at a US-dollar limit?
vidbyte-sdk (max_spend_usd, on its linear, Jev and infinite-memory runtimes) and Pydantic AI (UsageLimits(cost_limit=...)). Both check between steps, so neither is a guarantee on the final bill. vidbyte-sdk refuses models it can't price and stops a run whose spend it can't measure; Pydantic AI warns and keeps going. The OpenAI Agents SDK and LangGraph docs describe no dollar limit as of 2026-10-27.
Is there a lightweight alternative to LangChain for building agents in Python?
vidbyte-sdk and Pydantic AI each ship the agent loop, tools, evals, tracing and MCP in one MIT-licensed install. LangGraph is the LangChain team's graph runtime; its evals, MCP client and tracing come from LangChain packages and LangSmith. The OpenAI Agents SDK is smallest when you build mainly on OpenAI models.
Which agent SDKs include evals in the package?
vidbyte-sdk (EvalCase, EvalSuite, EvalRunner) and Pydantic AI (Pydantic Evals, installed with pydantic-ai). The OpenAI Agents SDK points to OpenAI's hosted Evals, and LangGraph to the agentevals package and LangSmith.
Sources
Each project's own pages, as read on 2026-10-27.