Comparison
| Wrapper | Install Extra | Provider Methods Traced |
|---|---|---|
wrap_openai | "pandaprobe[openai]" | chat.completions.create, responses.create |
wrap_anthropic | "pandaprobe[anthropic]" | messages.create, messages.stream |
wrap_gemini | "pandaprobe[gemini]" | models.generate_content, models.generate_content_stream |
wrap_mistral | "pandaprobe[mistral]" | chat.complete, chat.complete_async, chat.stream, chat.stream_async |
wrap_bedrock (beta) | "pandaprobe[bedrock]" | converse, converse_stream, invoke_model, invoke_model_with_response_stream |
Quick example
Wrappers work seamlessly with manual instrumentation. If a wrapper call happens inside a
pandaprobe.start_trace() or @pandaprobe.trace context, the LLM span is automatically nested as a child span.Provider guides
OpenAI
Chat Completions and Responses API, streaming, and tool spans
Anthropic
Messages API, streaming patterns, and extended thinking
Google Gemini
generate_content, async, streaming, and thinking modeMistral AI
Chat completions, async, and streaming
AWS Bedrock (beta)
Converse and InvokeModel APIs, streaming, and aioboto3 support

