LLM Providers
| Provider | Status | Instrumentation Method | Features |
|---|
| OpenAI | ✅ Supported | instrument() | Streaming, Tool calls, Vision, JSON mode |
| Anthropic | ✅ Supported | instrument() | Streaming, Tool calls, Prompt caching |
| Google Gemini | ✅ Supported | instrument() | Streaming, Tool calls, Chat sessions |
Agent Frameworks
| Framework | Status | Instrumentation Method | Notes |
|---|
| PydanticAI | ✅ Supported | instrument() | Agents, structured output, tools, dependencies |
PydanticAI uses OpenAI/Anthropic SDKs internally, so instrument() automatically captures all LLM calls.
Feature Support
| Feature | OpenAI | Anthropic | Gemini |
|---|
| Basic completions | ✅ | ✅ | ✅ |
| Streaming | ✅ | ✅ | ✅ |
| Tool/Function calls | ✅ | ✅ | ✅ |
| Token tracking | ✅ | ✅ | ✅ |
| Cached token tracking | ✅ | ✅ | ❌ |
| Rate limit tracking | ✅ | ✅ | ❌ |
| Latency metrics | ✅ | ✅ | ✅ |
| Error tracking | ✅ | ✅ | ✅ |
| Async support | ✅ | ✅ | ✅ |
| Cost control | ✅ | ✅ | ✅ |
Instrumentation Methods
instrument() - Sync Instrumentation
For synchronous applications or when not using a control server.
from aden import instrument, MeterOptions, create_console_emitter
instrument(MeterOptions(
emit_metric=create_console_emitter(pretty=True),
))
instrument_async() - Async Instrumentation
For async applications, especially when connecting to a control server.
from aden import instrument_async, MeterOptions
await instrument_async(MeterOptions(
api_key=os.environ["ADEN_API_KEY"],
))
PydanticAI Features
| Feature | Status | Notes |
|---|
| Basic agents | ✅ | System prompts, model selection |
| Structured output | ✅ | Pydantic models as output types |
| Tool calling | ✅ | @agent.tool decorator |
| Multi-provider | ✅ | OpenAI, Anthropic, Gemini |
| Streaming | ✅ | run_stream() with async iteration |
| Dependencies | ✅ | Dependency injection with deps_type |
| Dynamic prompts | ✅ | @agent.system_prompt decorator |
| Multi-agent workflows | ✅ | Chain multiple agents |
Examples
| Example | Description | File |
|---|
| OpenAI Basic | Completions, streaming, tool calls | openai_basic.py |
| Anthropic Basic | Messages, streaming, prompt caching | anthropic_basic.py |
| Gemini Basic | Content generation, chat sessions | gemini_basic.py |
| PydanticAI | Agents, structured output, tools, multi-agent | pydantic_ai_example.py |
| Cost Control | Local policy engine without server | cost_control_local.py |
| Control Actions | All 5 control actions demo | control_actions.py |
View Examples on GitHub
Browse complete example code
Coming Soon
| Framework | Status | ETA |
|---|
| LangChain | 🔜 Planned | - |
| LlamaIndex | 🔜 Planned | - |
| CrewAI | 🔜 Planned | - |
| AutoGen | 🔜 Planned | - |