Production-ready SDK for building AI agents with Pydantic AI
Project description
pai-agent-sdk
Production-ready SDK for building AI agents with Pydantic AI.
Early Stage Warning: This project is in active development. APIs may change frequently between versions. We welcome feedback and contributions to help stabilize the SDK.
Key Features
- Environment-based Architecture: Inject file operations, shell access, and resumable resources via
Environmentfor clean separation of concerns(check agent-environment) - Resumable Sessions: Export and restore
AgentContextstate for multi-turn conversations across restarts - Hierarchical Agents: Delegate specialized tasks to subagents with automatic tool inheritance
- Human-in-the-Loop: Built-in approval workflows for sensitive tool operations
- Streaming Support: Real-time streaming of agent responses and tool executions
Installation
# Recommended: install with all optional dependencies
pip install pai-agent-sdk[all]
uv add pai-agent-sdk[all]
# Or install individual extras as needed
pip install pai-agent-sdk[docker] # Docker sandbox support
pip install pai-agent-sdk[web] # Web tools (tavily, firecrawl, markitdown)
pip install pai-agent-sdk[document] # Document processing (pymupdf, markitdown)
Project Structure
This repository contains:
- pai_agent_sdk/ - Core SDK for building AI agents with environment abstraction, toolsets, and session management
- paintress_cli/ - Reference CLI implementation with TUI (Terminal User Interface) for interactive agent sessions
- examples/ - Production-ready code examples demonstrating SDK features
- docs/ - Comprehensive documentation for SDK architecture and APIs
Quick Start
Using the SDK
from pai_agent_sdk.agents import create_agent, stream_agent
# create_agent returns AgentRuntime (not a context manager)
runtime = create_agent("openai:gpt-4o")
# stream_agent manages runtime lifecycle automatically
async with stream_agent(runtime, "Hello") as streamer:
async for event in streamer:
print(event)
Using Paintress CLI
For a ready-to-use terminal interface, try paintress-cli - a TUI reference implementation built on top of pai-agent-sdk:
# Run directly with uvx (no installation needed)
uvx paintress-cli
# Or install globally
uv tool install paintress-cli
pip install paintress-cli
Features:
- Rich terminal UI with syntax highlighting and streaming output
- Built-in tool approval workflows (human-in-the-loop)
- Session management with conversation history
- Browser automation support via Docker sandbox
- MCP (Model Context Protocol) server integration
Examples
Check out the examples/ directory for production-ready patterns:
| Example | Description |
|---|---|
| general.py | Complete production pattern with streaming, HITL approval, and session persistence |
| deepresearch.py | Autonomous research agent with web search and content extraction |
| browser_use.py | Browser automation with Docker-based headless Chrome sandbox |
For Agent Users
If you're using an AI agent (e.g., Claude, Cursor) that supports skills:
- Clone this repo: The SKILL.md file in the repository root provides comprehensive guidance for agents
- Download release package: Get the latest
SKILL.zipfrom the Releases page (automatically built during each release)
Configuration
Copy examples/.env.example to examples/.env and configure your API keys.
Documentation
- AgentContext & Sessions - Session state, resumable sessions, extending context
- Toolset Architecture - Create tools, use hooks, handle errors, extend Toolset
- Subagent System - Hierarchical agents, builtin presets, markdown configuration
- Custom Environments - Environment lifecycle, resource management
- Resumable Resources - Export and restore resource states across restarts
- Model Configuration - Provider setup, gateway mode
- Logging Configuration - Configure SDK logging levels
Development
See CONTRIBUTING.md for development setup and guidelines.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pai_agent_sdk-0.4.7.tar.gz.
File metadata
- Download URL: pai_agent_sdk-0.4.7.tar.gz
- Upload date:
- Size: 605.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46aa5e755561ba11fc264f4e0d8bbebe4a863f249dbfdb1d112c42ad079ccfbc
|
|
| MD5 |
ffa113672a8f4edf13b592a6004abe70
|
|
| BLAKE2b-256 |
11c0feee04ef2af946bdbd57f73eb35e72a959d740410d759c2221b7ac299c61
|
File details
Details for the file pai_agent_sdk-0.4.7-py3-none-any.whl.
File metadata
- Download URL: pai_agent_sdk-0.4.7-py3-none-any.whl
- Upload date:
- Size: 191.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b9690a1d5b89f1af1926ecdafc754ea756b39b1952350d15479373676a39bb9
|
|
| MD5 |
5d6ecdc602166bf39f44dc6d204c8834
|
|
| BLAKE2b-256 |
1d9be32e2a9609d4066664ddc1c709131c9ad6b4cc1183c8a84b29e0b118d230
|