openai-agents-python

openai-agents-python

Facts

Openness
Open source
Licence
MIT
Language
Python
Pinned version
ce8ae9f (2026-10-02)
Topics checked
29 of 33
Kind of agent
General framework

What it does notably well

  • Concurrency

    openai-agents-python runs its function tools as asyncio tasks, offloads sync function tools with asyncio.to_thread, and shares one httpx connection pool (shared_http_client)…

  • Message model

    When RunState.reject() records a rejection for a pending approval and the run resumes, openai-agents-python builds a ToolCallOutputItem through function_rejection_item whose…

    openai-agents-python's drop_orphan_function_calls (run_internal/items.py) removes tool and program call items that have no output, plus reasoning items left dangling by the drop…

  • Errors and failover

    openai-agents-python's model-retry layer, once enabled with a policy, is bounded by max_retries, delays retries with capped jittered backoff or the provider's retry-after value…

  • Eval harness

    openai-agents-python pairs a public deterministic ScriptedModel (src/agents/testing/model.py) with an autouse conftest fixture that fails tests calling the OpenAI model classes…

  • External memory

    openai-agents-python defines a Session protocol and a SessionABC (src/agents/memory/session.py) that nine classes extend directly (SQLiteSession, AsyncSQLiteSession…

See how openai-agents-python does on each topic

The topic-by-topic verdicts, the code lines and a side-by-side comparison are in the app. Sign in with Google; new accounts are approved by hand.

Independent analysis, not affiliated with openai-agents-python.