
Pydantic AI
Type-safe Python agent framework from the Pydantic team.
About
Pydantic AI is a Python SDK for building production LLM agents with Pydantic-typed structured outputs, validated function tools, and typed dependency injection. One agent definition is model-agnostic and can run behind a web frontend, in the terminal (clai CLI), on realtime voice, in durable background queues, or in GitHub Actions; Pydantic Graph and Pydantic Evals ship as companion packages. It is MIT-licensed, maintained by the team behind Pydantic validation (the layer under the OpenAI, Anthropic, and LangChain SDKs), with Logfire observability and a self-hostable AI Gateway as optional companions.
What it can do
- Typed agent loop with Pydantic-validated structured outputs and typed dependency injection
- Model-agnostic: swap providers with a model string (OpenAI, Anthropic, Google, Bedrock, Azure, Groq, Mistral, Ollama, and more)
- Function tools via @agent.tool with argument validation before code runs
- Pydantic Graph for typed graph-based workflows; Pydantic Evals for testing agent behavior like pytest
- Realtime voice, image generation, and embeddings in the same package
- MCP client support and web search as first-party capabilities
- Durable execution on Temporal, DBOS, Prefect, Restate, AWS Lambda, Kitaru, Airflow, Absurd
- OpenTelemetry-native instrumentation; Logfire is optional with a free tier
- Interfaces: clai CLI, built-in web chat, ACP editor agent, GitHub Agentic Workflows
Setup
- Install the SDK:
uv add pydantic-ai(orpip install pydantic-ai); add provider extras as needed, e.g.uv add "pydantic-ai[openai]". - Set provider API keys as environment variables (e.g.
OPENAI_API_KEY). - Define an agent in Python:
agent = Agent('openai:gpt-4o', output_type=MyModel)with@agent.toolfunctions, thenagent.run_sync('...'). - Optional observability: add
logfire.configure(); logfire.instrument_pydantic_ai()before runs (signup viauvx logfire auth); any OpenTelemetry backend also works. - For long-running work, add the harness:
uv add pydantic-ai-harness, which snaps on memory, guardrails, sub-agents, planning, and a complete coding agent as capabilities.
Prerequisites
Python 3.10+ (uv recommended); provider API key(s).
Use cases
Works with
Trust score — 9/10
Built by the Pydantic team with an unusually coherent design (typed outputs, dependency injection, evals, OTel-native instrumentation); MIT-licensed, 20.5k stars, actively expanded (Harness, realtime voice, AI Gateway, GitHub agentic workflows). Independent reception is strongly positive (VentureBeat launch coverage, HN ecosystem discussion, developer write-ups praising the clean API). Minor caveats only: fast-moving API surface (rapid additions through 2025-2026) and a younger ecosystem than LangChain. Metrics-v1 score 9/10 — adoption 8.6, maintenance 8.2, openness 10, manual 9.
★ 20,538 GitHub stars
How the trust score is built
Full methodology →- Adoption · stars/downloads, log-scaled vs peers
- 8.6/10
- Maintenance · recency, releases, issue load
- 8.2/10
- Openness · license + docs
- 10.0/10
- Manual review · sanity read + red-flag check
- 9.0/10
- · 20,581 GitHub stars (log-scaled vs catalog peers)
- · blended with ~5,383,780 monthly package downloads
- · last push 0d ago; 100 releases/12mo; 1366 open issues
- · manual review: fast-moving API surface; otherwise clean
Sources
Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.