Skip to content
Back to skills

Pydantic Ai

ASecurity

Python framework for building production-grade AI agents with LLMs. Use when creating agents that need structured outputs, tools, dependency injection, or type-safe interactions. Specifically use for: (1) Building AI agents with OpenAI, Anthropic, Google, or other LLM providers, (2) Creating agents that require structured output validation via Pydantic models, (3) Implementing tool-calling agents with function tools, (4) Building multi-agent applications or A2A (Agent2Agent) protocol servers,...

  • 57 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 17, 2026
ai-agentspythongobashnodetestingapidatabasedocumentation

Works with

  • api
  • mcp

Security analysis

A100/100

Scanned October 17, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill pydantic-ai --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Pydantic Ai?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Pydantic Ai
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-pydantic-ai-awesome-omni-skill/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-pydantic-ai-awesome-omni-skill)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: pydantic-ai
description: "Python framework for building production-grade AI agents with LLMs. Use when creating agents that need structured outputs, tools, dependency injection, or type-safe interactions. Specifically use for: (1) Building AI agents with OpenAI, Anthropic, Google, or other LLM providers, (2) Creating agents that require structured output validation via Pydantic models, (3) Implementing tool-calling agents with function tools, (4) Building multi-agent applications or A2A (Agent2Agent) protocol servers, (5) Adding observability with Pydantic Logfire, (6) Streaming responses or events from agents"
---

# Pydantic AI

## Overview

Pydantic AI is a type-safe Python framework for building AI agents. It provides tools, structured outputs, dependency injection, and comprehensive model support for production-grade applications.

## When to Use Pydantic AI

Use this skill when you need to:

- Build AI agents with any LLM provider (OpenAI, Anthropic, Google, Groq, etc.)
- Ensure type-safe, validated structured outputs using Pydantic models
- Create agents that can call tools (functions) to gather information
- Implement dependency injection for testable, maintainable agents
- Stream agent responses or events in real-time
- Build multi-agent workflows or A2A servers
- Add observability with Pydantic Logfire

## Quick Start

### Installation

```bash
uv add pydantic-ai
```

Or for slim installs with only specific model dependencies:

```bash
uv add "pydantic-ai-slim[openai,anthropic]"
```

### Basic Agent

```python
from pydantic_ai import Agent

agent = Agent('openai:gpt-4o', instructions='Be helpful and concise.')

result = agent.run_sync('What is 2+2?')
print(result.output)
```

### Agent with Tools and Structured Output

```python
from dataclasses import dataclass
from pydantic import BaseModel, Field
from pydantic_ai import Agent, RunContext

@dataclass
class Dependencies:
    api_key: str

class Output(BaseModel):
    response: str
    confidence: float

agent = Agent(
    'openai:gpt-4o',
    deps_type=Dependencies,
    output_type=Output,
    instructions='Help users with their queries.',
)

@agent.tool
async def get_info(ctx: RunContext[Dependencies], query: str) -> str:
    """Fetch information about a topic."""
    return f"Information about {query}"

result = await agent.run('Tell me about Python', deps=Dependencies(api_key='key'))
print(result.output)  # Output(response='...', confidence=0.95)
```

## Running Agents

- `agent.run()` - Async execution
- `agent.run_sync()` - Synchronous execution
- `agent.run_stream()` - Stream text/structured output
- `agent.run_stream_events()` - Stream all events (tool calls, text, etc.)
- `agent.iter()` - Iterate over graph nodes

## Agent Components

| Component | Description |
|-----------|-------------|
| **Instructions** | Static or dynamic instructions for the LLM |
| **Tools** | Functions the LLM can call (`@agent.tool`) |
| **Output Type** | Pydantic model for structured output validation |
| **Dependencies** | Type-safe dependency injection for tools/instructions |
| **Model** | LLM model (OpenAI, Anthropic, Google, etc.) |

## Model Selection

Specify models by provider: `openai:gpt-4o`, `anthropic:claude-3-5-sonnet`, `google:gemini-2.0-flash`, etc.

See `references/models.md` for all supported providers and models.

## Common Patterns

### Dynamic Instructions

```python
@agent.instructions
async def add_context(ctx: RunContext[Dependencies]) -> str:
    return f"Current user ID: {ctx.deps.user_id}"
```

### Tool Parameters

```python
@agent.tool
async def search(
    ctx: RunContext[Dependencies],
    query: str,
    max_results: int = 10,
) -> list[str]:
    """Search a database with the given query."""
    # Implementation
    pass
```

### Streaming Responses

```python
async with agent.run_stream('Tell me a story') as response:
    async for chunk in response.stream_text():
        print(chunk, end='')
```

## Advanced Features

- **Graphs**: Complex workflows using `pydantic_graph`
- **Multi-Agent**: Agent-to-agent communication with A2A protocol
- **Durable Execution**: DBOS, Prefect, or Temporal integration
- **MCP Integration**: Model Context Protocol support
- **UI Streams**: AG-UI or Vercel AI SDK integration

## Resources

### references/
- `models.md` - All supported LLM providers and models
- `api_reference.md` - API documentation for core classes
- `examples.md` - Detailed examples for common use cases

### scripts/
No executable scripts included. Pydantic AI is a framework, not a tool collection.

### assets/
No assets included. This is a pure Python framework.

## Development

- Test agents with `agent.run_sync()` for quick iteration
- Use `uv run pytest` for testing (project must have tests configured)
- Enable Logfire for observability: `logfire.instrument_pydantic_ai()`

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.