Snapshot of openai/openai-agents-python: 30.1k★, Python, AI Tools. A lightweight, powerful framework for multi-agent workflows
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
The OpenAI Agents SDK is a lightweight yet powerful framework for building multi-agent workflows. It is provider-agnostic, supporting the OpenAI Responses and Chat Completions APIs, as well as 100+ other LLMs.
[!NOTE]
Looking for the JavaScript/TypeScript version? Check out Agents SDK JS/TS.
Core concepts:
Agents: LLMs configured with instructions, tools, guardrails, and handoffs
Sandbox agents: Agents preconfigured to work with a container to perform work over long time horizons.
Realtime agents: Build powerful voice agents with gpt-realtime-2.1 and full agent features
Voice agents: Build voice pipelines that combine speech-to-text, an agent workflow, and text-to-speech
Agents as tools / Handoffs: Delegating to other agents for specific tasks
Tools: Various Tools let agents take actions (functions, MCP, hosted tools)
Guardrails: Configurable safety checks for input and output validation
Human in the loop: Built-in mechanisms for involving humans across agent runs
Sessions: Automatic conversation history management across agent runs
Tracing: Built-in tracking of agent runs, allowing you to view, debug and optimize your workflows
Explore the examples directory to see the SDK in action, and read our documentation for more details.
Get started
To get started, set up your Python environment (Python 3.10 or newer required), and then install OpenAI Agents SDK package.
For voice support, install with the optional voice group: pip install 'openai-agents[voice]'. For Redis session support, install with the optional redis group: pip install 'openai-agents[redis]'.
uv
If you're familiar with uv, installing the package would be even easier:
uv init
uv add openai-agents
For voice support, install with the optional voice group: uv add 'openai-agents[voice]'. For Redis session support, install with the optional redis group: uv add 'openai-agents[redis]'.
Run your first agents
The SDK supports four primary ways to run agents. Set the OPENAI_API_KEY environment variable before running any of these examples.
Run a text agent
Use a text Agent for workflows that do not need a persistent realtime connection or a sandbox workspace.
from agents import Agent, Runner
agent = Agent(name="Assistant", instructions="You are a helpful assistant")
result = Runner.run_sync(agent, "Write a haiku about recursion in programming.")
print(result.final_output)
# Code within the code,
# Functions calling themselves,
# Infinite loop's dance.
(For Jupyter notebook users, see hello_world_jupyter.ipynb)
Run a sandbox agent
Use a SandboxAgent when the agent needs to inspect files, run commands, apply patches, or preserve workspace state across longer tasks.
This example uses UnixLocalSandboxClient, which is supported on macOS and Linux. On Windows, use DockerSandboxClient with the openai-agents[docker] extra or a hosted sandbox client instead; see Sandbox clients for setup details.
from agents import Runner
from agents.run import RunConfig
from agents.sandbox import Manifest, SandboxAgent, SandboxRunConfig
from agents.sandbox.entries import GitRepo
from agents.sandbox.sandboxes import UnixLocalSandboxClient
agent = SandboxAgent(
name="Workspace Assistant",
instructions="Inspect the sandbox workspace before answering.",
default_manifest=Manifest(
entries={"repo": GitRepo(repo="openai/openai-agents-python", ref="main")}
),
)
result = Runner.run_sync(
agent,
"Inspect the repo README and summarize what this project does.",
run_config=RunConfig(sandbox=SandboxRunConfig(client=UnixLocalSandboxClient())),
)
print(result.final_output)
Run a realtime agent
Use a RealtimeAgent for low-latency, server-side voice and multimodal experiences over WebSocket.
import asyncio
from agents.realtime import RealtimeAgent, RealtimeRunner
async def main() -> None:
agent = RealtimeAgent(
name="Assistant", instructions="You are a helpful voice assistant. Keep responses short."
)
runner = RealtimeRunner(starting_agent=agent)
session = await runner.run()
async with session:
await session.send_message("Say hello in one short sentence.")
async for event in session:
if event.type == "audio":
# Forward or play event.audio.data.
pass
elif event.type == "history_added":
print(event.item)
elif event.type == "agent_end":
break
if __name__ == "__main__":
asyncio.run(main())
Run a voice agent
Use a VoicePipeline to turn audio into text, run an agent workflow, and stream generated speech.
import asyncio
import numpy as np
from agents import Agent
from agents.voice import AudioInput, SingleAgentVoiceWorkflow, VoicePipeline
async def main() -> None:
agent = Agent(name="Assistant", instructions="You are a helpful voice assistant.")
pipeline = VoicePipeline(workflow=SingleAgentVoiceWorkflow(agent))
audio_input = AudioInput(buffer=np.zeros(24000 * 3, dtype=np.int16))
result = await pipeline.run(audio_input)
async for event in result.stream():
if event.type == "voice_stream_event_audio":
# Forward or play event.data.
pass
if __name__ == "__main__":
asyncio.run(main())
Explore the examples directory to see the SDK in action, and read our documentation for more details.
Contributing
Please share bug reports and feature requests through GitHub issues.
Pull requests are limited to repository collaborators; we do not accept pull requests from non-collaborators.
See CONTRIBUTING.md for the contribution policy and development guide.
For security vulnerabilities, follow SECURITY.md.
Acknowledgements
We'd like to acknowledge the excellent work of the open-source community, especially:
Pydantic
Requests
MCP Python SDK
Griffe
This library has these optional dependencies:
websockets
SQLAlchemy
any-llm and LiteLLM
We also rely on the following tools to manage the project:
uv and ruff
mypy and Pyright
pytest and Coverage.py
MkDocs
We're committed to continuing to build the Agents SDK as an open source framework so others in the community can expand on our approach.
How active is development on openai/openai-agents-python?
The most recent commit recorded on openai/openai-agents-python was 9 days ago, based on the GitHub push timestamp. The repository has 5.0k forks — one of the better signals of community interest.
How many stars does openai/openai-agents-python have?
openai/openai-agents-python has 30.1k GitHub stars — refresh the page for the live number, or check github.com/openai/openai-agents-python. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
What else is in the AI Tools space?
openai/openai-agents-python is tracked by TopGit under the AI Tools category, alongside 7 GitHub-tagged topics. Trending and Topics pages list peer repositories of comparable stars and language.
What language is openai/openai-agents-python written in?
openai/openai-agents-python is written primarily in Python. GitHub's language field is based on the largest share of bytes in the default branch.
What topics is openai/openai-agents-python associated with?
GitHub's repository topics for openai/openai-agents-python: "agents", "ai", "framework", "harness", "llm", "openai", "python". TopGit's editorial category is AI Tools.
Where do I read more about openai/openai-agents-python?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/openai/openai-agents-python is the definitive source.
Why is openai/openai-agents-python categorized under AI Tools?
TopGit places openai/openai-agents-python in the AI Tools category based on its GitHub topics and description (tagged: "agents", "ai", "framework"). Categories are assigned from real repository metadata, not editorial guesswork.
Read full README in the tab above.
Is openai-agents-python worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of openai-agents-python.