Requirements
The Python versions, Viper version, optional extras and model clients the Guardian Agent SDK supports.
Python
Python 3.10 or later, on any operating system Viper runs on: Linux or macOS, or a container (see Supported platforms). The SDK is pure Python; its dependencies (Pydantic, jsonschema, httpx and anyio) install from prebuilt wheels on common platforms.
Deep Agents needs Python 3.11 or later, so the deepagents extra installs nothing on 3.10, and calling create_deep_agent there raises ModuleNotFoundError, saying it needs Python 3.11 or later and the extra.
Viper
The SDK talks to a local Viper proxy, which holds each agent’s key, signs its requests and forwards them to your Guardian Platform deployment’s Agent Gateway. It needs Viper 0.3.0 or later: Guardian checks the proxy’s agent API, definition schema and features on first use, and raises ga.ProxyIncompatible, naming what’s missing, if the proxy is older. No definition is sent to an incompatible proxy.
To install Viper and point it at your gateway, see Install Viper in the Guardian Platform docs.
Optional extras
The core SDK works with OpenAI’s and Anthropic’s Python clients and anything that takes an httpx client. The extras add framework support:
langchain(eqty-guardian-agent[langchain]): LangChain chat models and tools in a definition and inbind(), LangChain’screate_agent(guardian_agent.langchain), and hand-built LangGraph graphs (guardian_agent.langgraph).deepagents(eqty-guardian-agent[deepagents]): Deep Agents’create_deep_agent(guardian_agent.deepagents). Python 3.11 or later.mcp(eqty-guardian-agent[mcp]): tools from MCP servers, loaded withlangchain-mcp-adapters, each server recorded in the definition.
Your model provider’s LangChain package (langchain-openai, langchain-anthropic) isn’t included: install the one you use.
Model clients
agent.bind() routes these through the proxy:
- OpenAI’s
OpenAIandAsyncOpenAI, fromopenai1.55.3 or later. - Anthropic’s
AnthropicandAsyncAnthropic, fromanthropic0.40.0 or later. - LangChain’s
ChatOpenAIandChatAnthropic, with thelangchainextra. Another kind of LangChain chat model raisesTypeError.
Those are the oldest releases that work with httpx 0.28, the newest httpx release and the one a fresh install gets: older releases fail as soon as you create the client. Newer releases work too, whether they build on httpx (openai before 3, anthropic before 1.0) or on httpx2, as current ones do. The SDK is tested at those oldest releases, at the newest built on httpx, and at the newest built on httpx2.
A proxy fronts one provider’s gateway endpoint, so an agent that calls both OpenAI and Anthropic runs through two proxies (Quick start, step 2). agent.httpx_client() and agent.httpx_async_client() give any other client that takes an httpx client the same routing. OpenAI’s Realtime (WebSocket) API can’t go through the proxy, so a bound client’s Realtime connections fail rather than go unsigned.