Context is precious. Execution is sacred. Trust is earned.Python 3.10–3.13

Framework guide

OpenAI Agents SDK

Use Agent-Gantry with handoffs, hosted tools, and function tools. This page covers basic setup and the first production-friendly path; continue to the advanced page for dynamic retrieval, LLM calls, and operations.

Advanced OpenAI Agents SDK usage →

Basic page: register once, adapt at the edge

  1. Create a Gantry instance near application startup.
  2. Register deterministic Python functions with descriptions and input schemas.
  3. Export framework-native tools for OpenAI Agents SDK immediately before constructing the agent, graph, pipeline, or crew.
  4. Keep authorization, rate limits, and audit metadata in Gantry instead of duplicating it inside framework glue code.
from agent_gantry import AgentGantry
from agent_gantry.openai_agents import OpenAIAgentsAdapter

gantry = AgentGantry()

def get_order_status(order_id: str) -> str:
    """Return the current shipping status for an order."""
    return "in_transit"

gantry.register_tool(get_order_status, tags=["support", "orders"])
adapter = OpenAIAgentsAdapter(gantry)
framework_tools = await adapter.select("check an order", limit=3)  # Native OpenAI Agents SDK adapter export.

First tool-calling loop

Let OpenAI Agents SDK own the conversation lifecycle while Gantry owns the tool catalog. Start with a small tool set and assert that the framework receives only safe, documented functions.

Basic testing checklist: verify tool names, JSON schemas, auth metadata, and a happy-path invocation before wiring a live model.

Basic LLM call guidance

For early prototypes, use the model client already recommended by OpenAI Agents SDK. Wrap that client with a thin policy function that records model name, prompt tokens, completion tokens, tool calls, and latency. Once the integration stabilizes, move the policy into Agent-Gantry's LLM adapter layer so other frameworks share the same rules.