> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atla-ai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Python Integrations

> Supported frameworks and LLM providers for Atla Insights in Python

Atla Insights supports a wide range of LLM providers and AI agent frameworks. All instrumentation methods share a common interface for easy integration.

## LLM Providers

We currently support the following LLM providers:

| Provider | Instrumentation Function | Notes |
| - | - | - |
| **Anthropic** | `instrument_anthropic` | Also supports `AnthropicBedrock` client from Anthropic |
| **Bedrock** | `instrument_bedrock` | |
| **Google GenAI** | `instrument_google_genai` | E.g., Gemini |
| **LiteLLM** | `instrument_litellm` | Supports all available models in the LiteLLM framework |
| **OpenAI** | `instrument_openai` | Includes Azure OpenAI |

### Basic Provider Usage

```python theme={null}
from atla_insights import configure, instrument_openai
from openai import OpenAI

configure(token="<MY_ATLA_INSIGHTS_TOKEN>")
instrument_openai()

client = OpenAI()
# All OpenAI calls are now instrumented
```

<Warning>
  By default, instrumented LLM calls will be treated independently from one another. To logically group LLM calls into a trace, use the `@instrument` decorator.
</Warning>

## Agent Frameworks

We currently support the following frameworks:

| Framework | Instrumentation Function | Notes |
| - | - | - |
| **Agno** | `instrument_agno` | Supported with `openai`, `google-genai`, `litellm` and/or `anthropic` models |
| **BAML** | `instrument_baml` | Supported with `openai`, `anthropic` or `bedrock` models |
| **Claude Agent SDK** | `instrument_claude_agent_sdk` | |
| **Claude Code SDK** | `instrument_claude_code_sdk` | |
| **CrewAI** | `instrument_crewai` | |
| **Google AI SDK** | `instrument_google_adk` | |
| **LangChain** | `instrument_langchain` | This includes e.g., LangGraph as well |
| **MCP** | `instrument_mcp` | Only includes context propagation. You will need to instrument the model calling the MCP server separately. |
| **OpenAI Agents** | `instrument_openai_agents` | Supported with `openai`, `google-genai`, `litellm` and/or `anthropic` models |
| **Pydantic AI** | `instrument_pydantic_ai` | |
| **Smolagents** | `instrument_smolagents` | Supported with `openai`, `google-genai`, `litellm` and/or `anthropic` models |

### Framework + Provider Instrumentation

<Warning>
  For Agno, BAML, OpenAI Agents and Smolagents in Python, you will need to instrument both the framework *and* the underlying LLM provider(s).
</Warning>

```python theme={null}
from atla_insights import configure, instrument_agno

configure(token="<MY_ATLA_INSIGHTS_TOKEN>")

# If you are using a single LLM provider (e.g., via `OpenAIChat`)
instrument_agno("openai")

# If you are using multiple LLM providers (e.g., `OpenAIChat` and `Claude`)
instrument_agno(["anthropic", "openai"])
```

## Can't find your framework or LLM provider?

If you are using a framework or LLM provider without native support, you can manually record LLM generations via our lower-level SDK.

```python icon="python" lines theme={null}
from atla_insights.span import start_as_current_span

with start_as_current_span("my-llm-generation") as span:
    # Run my LLM generation via an unsupported framework.
    input_messages = [{"role": "user", "content": "What is the capital of France?"}]
    tools = [
        {
            "type": "function",
            "function": {
                "name": "get_capital",
                "parameters": {"type": "object", "properties": {"country": {"type": "string"}}},
            },
        }
    ]
    result = my_client.chat.completions.create(messages=input_messages, tools=tools)

    # Manually record LLM generation.
    span.record_generation(
        input_messages=input_messages,
        output_messages=[choice.message for choice in result.choices],
        tools=tools,
    )
```

Note that all arguments are expected to be in an OpenAI-compatible format.

See the relevant OpenAI documentation for more details:

* [input\_messages](https://platform.openai.com/docs/api-reference/chat/create#chat_create-messages)
* [output\_messages](https://platform.openai.com/docs/api-reference/chat/object#chat/object-choices-message)
* [tools](https://platform.openai.com/docs/api-reference/chat/create#chat_create-tools) (optional but recommended)

Feel free to let us know which frameworks and LLM providers you would like to see supported!
[Schedule a call with the Atla team](https://calendly.com/d/csym-9kk-bbk/insights-ui-onboarding)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.