Metadata-Version: 2.4
Name: openai-agents
Version: 0.14.4
Summary: OpenAI Agents SDK
Project-URL: Homepage, https://openai.github.io/openai-agents-python/
Project-URL: Repository, https://github.com/openai/openai-agents-python
Author-email: OpenAI <support@openai.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: griffelib<3,>=2
Requires-Dist: mcp<2,>=1.19.0; python_version >= '3.10'
Requires-Dist: openai<3,>=2.26.0
Requires-Dist: pydantic<3,>=2.12.2
Requires-Dist: requests<3,>=2.0
Requires-Dist: types-requests<3,>=2.0
Requires-Dist: typing-extensions<5,>=4.12.2
Requires-Dist: websockets<16,>=15.0
Provides-Extra: any-llm
Requires-Dist: any-llm-sdk<2,>=1.11.0; (python_version >= '3.11') and extra == 'any-llm'
Provides-Extra: blaxel
Requires-Dist: aiohttp<4,>=3.12; extra == 'blaxel'
Requires-Dist: blaxel>=0.2.50; extra == 'blaxel'
Provides-Extra: cloudflare
Requires-Dist: aiohttp<4,>=3.12; extra == 'cloudflare'
Provides-Extra: dapr
Requires-Dist: dapr>=1.16.0; extra == 'dapr'
Requires-Dist: grpcio>=1.60.0; extra == 'dapr'
Provides-Extra: daytona
Requires-Dist: daytona>=0.155.0; extra == 'daytona'
Provides-Extra: docker
Requires-Dist: docker>=6.1; extra == 'docker'
Provides-Extra: e2b
Requires-Dist: e2b-code-interpreter==2.4.1; extra == 'e2b'
Requires-Dist: e2b==2.20.0; extra == 'e2b'
Provides-Extra: encrypt
Requires-Dist: cryptography<46,>=45.0; extra == 'encrypt'
Provides-Extra: litellm
Requires-Dist: litellm>=1.83.0; extra == 'litellm'
Provides-Extra: modal
Requires-Dist: modal==1.3.5; extra == 'modal'
Provides-Extra: mongodb
Requires-Dist: pymongo>=4.14; extra == 'mongodb'
Provides-Extra: realtime
Requires-Dist: websockets<16,>=15.0; extra == 'realtime'
Provides-Extra: redis
Requires-Dist: redis>=7; extra == 'redis'
Provides-Extra: runloop
Requires-Dist: runloop-api-client<2.0.0,>=1.16.0; extra == 'runloop'
Provides-Extra: s3
Requires-Dist: boto3>=1.34; extra == 's3'
Provides-Extra: sqlalchemy
Requires-Dist: asyncpg>=0.29.0; extra == 'sqlalchemy'
Requires-Dist: sqlalchemy>=2.0; extra == 'sqlalchemy'
Provides-Extra: temporal
Requires-Dist: temporalio==1.26.0; extra == 'temporal'
Requires-Dist: textual<8.3,>=8.2.3; extra == 'temporal'
Provides-Extra: vercel
Requires-Dist: vercel<0.6,>=0.5.6; extra == 'vercel'
Provides-Extra: viz
Requires-Dist: graphviz>=0.17; extra == 'viz'
Provides-Extra: voice
Requires-Dist: numpy<3,>=2.2.0; (python_version >= '3.10') and extra == 'voice'
Requires-Dist: websockets<16,>=15.0; extra == 'voice'
Description-Content-Type: text/markdown

# OpenAI Agents SDK [![PyPI](https://img.shields.io/pypi/v/openai-agents?label=pypi%20package)](https://pypi.org/project/openai-agents/)

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.

<img src="https://cdn.openai.com/API/docs/images/orchestration.png" alt="Image of the Agents Tracing UI" style="max-height: 803px;">

> [!NOTE]
> Looking for the JavaScript/TypeScript version? Check out [Agents SDK JS/TS](https://github.com/openai/openai-agents-js).

### Core concepts:

1. [**Agents**](https://openai.github.io/openai-agents-python/agents): LLMs configured with instructions, tools, guardrails, and handoffs
1. [**Sandbox Agents**](https://openai.github.io/openai-agents-python/sandbox_agents): Agents preconfigured to work with a container to perform work over long time horizons.
1. **[Agents as tools](https://openai.github.io/openai-agents-python/tools/#agents-as-tools) / [Handoffs](https://openai.github.io/openai-agents-python/handoffs/)**: Delegating to other agents for specific tasks
1. [**Tools**](https://openai.github.io/openai-agents-python/tools/): Various Tools let agents take actions (functions, MCP, hosted tools)
1. [**Guardrails**](https://openai.github.io/openai-agents-python/guardrails/): Configurable safety checks for input and output validation
1. [**Human in the loop**](https://openai.github.io/openai-agents-python/human_in_the_loop/): Built-in mechanisms for involving humans across agent runs
1. [**Sessions**](https://openai.github.io/openai-agents-python/sessions/): Automatic conversation history management across agent runs
1. [**Tracing**](https://openai.github.io/openai-agents-python/tracing/): Built-in tracking of agent runs, allowing you to view, debug and optimize your workflows
1. [**Realtime Agents**](https://openai.github.io/openai-agents-python/realtime/quickstart/): Build powerful voice agents with `gpt-realtime-1.5` and full agent features

Explore the [examples](https://github.com/openai/openai-agents-python/tree/main/examples) directory to see the SDK in action, and read our [documentation](https://openai.github.io/openai-agents-python/) 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.

### venv

```bash
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install openai-agents
```

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](https://docs.astral.sh/uv/), installing the package would be even easier:

```bash
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 Sandbox Agent

[Sandbox Agents](https://openai.github.io/openai-agents-python/sandbox_agents) are new in version 0.14.0. A sandbox agent is an agent that uses a computer environment to perform real work with a filesystem, in an environment you configure and control. Sandbox agents are useful when the agent needs to inspect files, run commands, apply patches, or carry workspace state across longer tasks.

```python
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 this agent on the local filesystem
    run_config=RunConfig(sandbox=SandboxRunConfig(client=UnixLocalSandboxClient())),
)
print(result.final_output)

# This project provides a Python SDK for building multi-agent workflows.
```

(_If running this, ensure you set the `OPENAI_API_KEY` environment variable_)

(_For Jupyter notebook users, see [hello_world_jupyter.ipynb](https://github.com/openai/openai-agents-python/blob/main/examples/basic/hello_world_jupyter.ipynb)_)

Explore the [examples](https://github.com/openai/openai-agents-python/tree/main/examples) directory to see the SDK in action, and read our [documentation](https://openai.github.io/openai-agents-python/) for more details.

## Acknowledgements

We'd like to acknowledge the excellent work of the open-source community, especially:

- [Pydantic](https://docs.pydantic.dev/latest/)
- [Requests](https://github.com/psf/requests)
- [MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk)
- [Griffe](https://github.com/mkdocstrings/griffe)

This library has these optional dependencies:

- [websockets](https://github.com/python-websockets/websockets)
- [SQLAlchemy](https://github.com/sqlalchemy/sqlalchemy)
- [any-llm](https://github.com/mozilla-ai/any-llm) and [LiteLLM](https://github.com/BerriAI/litellm)

We also rely on the following tools to manage the project:

- [uv](https://github.com/astral-sh/uv) and [ruff](https://github.com/astral-sh/ruff)
- [mypy](https://github.com/python/mypy) and [Pyright](https://github.com/microsoft/pyright)
- [pytest](https://github.com/pytest-dev/pytest) and [Coverage.py](https://github.com/coveragepy/coveragepy)
- [MkDocs](https://github.com/squidfunk/mkdocs-material)

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.
