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

# Python SDK integrations

> AI providers, agent frameworks, and tools the Braintrust Python SDK integrates with.

export const SDKIntegrationsGrid = ({integrations}) => {
  const [searchTerm, setSearchTerm] = React.useState("");
  const searchInputRef = React.useRef(null);
  React.useEffect(() => {
    const handleKeyDown = e => {
      if ((e.metaKey || e.ctrlKey) && e.key === "f") {
        e.preventDefault();
        e.stopPropagation();
        searchInputRef.current?.focus();
        searchInputRef.current?.select();
      } else if (e.key === "Escape" && document.activeElement === searchInputRef.current) {
        setSearchTerm("");
        searchInputRef.current?.blur();
      }
    };
    window.addEventListener("keydown", handleKeyDown, true);
    return () => window.removeEventListener("keydown", handleKeyDown, true);
  }, []);
  const filtered = integrations.filter(i => !searchTerm || i.title.toLowerCase().includes(searchTerm.toLowerCase())).sort((a, b) => a.title.localeCompare(b.title));
  return <>
      <div style={{
    marginBottom: "1.5rem"
  }}>
        <div style={{
    position: "relative",
    width: "100%"
  }}>
          <div style={{
    position: "absolute",
    left: "0.875rem",
    top: "50%",
    transform: "translateY(-50%)",
    pointerEvents: "none",
    display: "flex",
    alignItems: "center",
    zIndex: 1
  }}>
            <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" className="integrations-search-icon">
              <circle cx="11" cy="11" r="8"></circle>
              <path d="m21 21-4.3-4.3"></path>
            </svg>
          </div>
          <input ref={searchInputRef} type="text" placeholder="Search integrations..." value={searchTerm} onChange={e => setSearchTerm(e.target.value)} className="integrations-search-input" />
          <div className="integrations-search-kbd" style={{
    position: "absolute",
    right: "0.75rem",
    top: "50%",
    transform: "translateY(-50%)",
    pointerEvents: "none",
    fontSize: "0.75rem",
    fontWeight: "600"
  }}>
            {typeof navigator !== "undefined" && "⌘F"}
          </div>
        </div>
      </div>
      <CardGroup cols={3}>
        {filtered.map(integration => <Card key={integration.href} horizontal title={integration.title} href={integration.href} icon={integration.icon} arrow />)}
      </CardGroup>
    </>;
};

<SDKIntegrationsGrid
  integrations={[
{
  title: "AgentScope",
  href: "/integrations/agent-frameworks/agentscope",
  icon: "https://img.logo.dev/modelscope.cn?token=pk_BdcHD9e5SCW3j1rnJkNyMQ",
},
{
  title: "Agno",
  href: "/integrations/sdk-integrations/agno",
  icon: "https://img.logo.dev/agno.com?token=pk_BdcHD9e5SCW3j1rnJkNyMQ",
},
{
  title: "Anthropic",
  href: "/integrations/ai-providers/anthropic",
  icon: "https://img.logo.dev/anthropic.com?token=pk_BdcHD9e5SCW3j1rnJkNyMQ",
},
{
  title: "AutoGen",
  href: "/integrations/agent-frameworks/autogen",
  icon: "https://img.logo.dev/autogenai.com?token=pk_BdcHD9e5SCW3j1rnJkNyMQ",
},
{
  title: "Claude Agent SDK",
  href: "/integrations/agent-frameworks/claude-agent-sdk",
  icon: "https://img.logo.dev/claude.ai?token=pk_BdcHD9e5SCW3j1rnJkNyMQ",
},
{
  title: "Cohere",
  href: "/integrations/ai-providers/cohere",
  icon: "https://img.logo.dev/cohere.com?token=pk_BdcHD9e5SCW3j1rnJkNyMQ",
},
{
  title: "CrewAI",
  href: "/integrations/agent-frameworks/crew-ai",
  icon: "https://img.logo.dev/crewai.com?token=pk_BdcHD9e5SCW3j1rnJkNyMQ",
},
{
  title: "DSPy",
  href: "/integrations/sdk-integrations/dspy",
  icon: "https://img.logo.dev/dspy.ai?token=pk_BdcHD9e5SCW3j1rnJkNyMQ",
},
{
  title: "Gemini",
  href: "/integrations/ai-providers/gemini",
  icon: "https://img.logo.dev/google.com?token=pk_BdcHD9e5SCW3j1rnJkNyMQ",
},
{
  title: "Google ADK",
  href: "/integrations/agent-frameworks/google",
  icon: "https://img.logo.dev/google.com?token=pk_BdcHD9e5SCW3j1rnJkNyMQ",
},
{
  title: "Instructor",
  href: "/integrations/sdk-integrations/instructor",
  icon: "circle-dashed",
},
{
  title: "LangChain",
  href: "/integrations/sdk-integrations/langchain",
  icon: "https://img.logo.dev/langchain.com?token=pk_BdcHD9e5SCW3j1rnJkNyMQ",
},
{
  title: "LiteLLM",
  href: "/integrations/sdk-integrations/litellm",
  icon: "https://img.logo.dev/litellm.ai?token=pk_BdcHD9e5SCW3j1rnJkNyMQ",
},
{
  title: "LiveKit Agents",
  href: "/integrations/agent-frameworks/livekit-agents",
  icon: "https://img.logo.dev/livekit.io?token=pk_BdcHD9e5SCW3j1rnJkNyMQ",
},
{
  title: "LlamaIndex",
  href: "/integrations/sdk-integrations/llamaindex",
  icon: "https://img.logo.dev/llamaindex.ai?token=pk_BdcHD9e5SCW3j1rnJkNyMQ",
},
{
  title: "Mistral",
  href: "/integrations/ai-providers/mistral",
  icon: "https://img.logo.dev/mistral.ai?token=pk_BdcHD9e5SCW3j1rnJkNyMQ",
},
{
  title: "OpenAI",
  href: "/integrations/ai-providers/openai",
  icon: "https://img.logo.dev/openai.com?token=pk_BdcHD9e5SCW3j1rnJkNyMQ",
},
{
  title: "OpenAI Agents SDK",
  href: "/integrations/agent-frameworks/openai-agents-sdk",
  icon: "https://img.logo.dev/openai.com?token=pk_BdcHD9e5SCW3j1rnJkNyMQ",
},
{
  title: "OpenRouter",
  href: "/integrations/ai-providers/openrouter",
  icon: "https://img.logo.dev/openrouter.ai?token=pk_BdcHD9e5SCW3j1rnJkNyMQ",
},
{
  title: "Pydantic AI",
  href: "/integrations/agent-frameworks/pydantic-ai",
  icon: "https://img.logo.dev/pydantic.ai?token=pk_BdcHD9e5SCW3j1rnJkNyMQ",
},
{
  title: "Strands Agents SDK",
  href: "/integrations/agent-frameworks/strands-agent",
  icon: "https://img.logo.dev/strandsagents.com?token=pk_BdcHD9e5SCW3j1rnJkNyMQ",
},
{
  title: "Temporal",
  href: "/integrations/sdk-integrations/temporal",
  icon: "https://img.logo.dev/temporal.io?token=pk_BdcHD9e5SCW3j1rnJkNyMQ",
},
]}
/>
