Files
dev/sdk/python
zeekay 4fe4cdd41c merge: openai/codex master (preserve Hanzo brand)
# Conflicts:
#	.github/pull_request_template.md
#	.github/workflows/rust-release-zsh.yml
#	.vscode/extensions.json
#	AGENTS.md
#	AGENTS.md~openai-upstream_main
#	codex-cli/.pack/package/bin/rg
#	codex-cli/bin/rg
#	codex-rs/app-server-protocol/src/protocol/v2.rs
#	codex-rs/app-server/src/codex_message_processor.rs
#	codex-rs/core/src/codex.rs
#	codex-rs/core/src/model_provider_info_tests.rs
#	codex-rs/core/src/models_manager/manager.rs
#	codex-rs/core/src/models_manager/manager_tests.rs
#	codex-rs/core/src/tools/handlers/multi_agents_v2/assign_task.rs
#	codex-rs/core/src/tools/spec_tests.rs
#	codex-rs/debug-client/Cargo.toml
#	codex-rs/debug-client/src/client.rs
#	codex-rs/debug-client/src/output.rs
#	codex-rs/debug-client/src/reader.rs
#	codex-rs/tools/src/agent_tool.rs
#	codex-rs/tools/src/agent_tool_tests.rs
#	codex-rs/tui/src/history_cell.rs
#	codex-rs/vendor/bubblewrap/NEWS.md
#	codex-rs/vendor/bubblewrap/README.md
#	codex-rs/vendor/bubblewrap/SECURITY.md
#	codex-rs/vendor/bubblewrap/bubblewrap.c
#	codex-rs/vendor/bubblewrap/meson.build
#	codex-rs/vendor/bubblewrap/meson_options.txt
#	codex-rs/vendor/bubblewrap/network.c
#	codex-rs/vendor/bubblewrap/release-checklist.md
#	codex-rs/vendor/bubblewrap/utils.c
#	codex-rs/windows-sandbox-rs/src/setup_orchestrator.rs
#	docs/contributing.md
#	scripts/codex_package/rg
2026-06-01 18:52:12 -07:00
..

OpenAI Codex Python SDK (Beta)

Build Python applications that start Codex threads, run turns, stream progress, and control workspace access.

Install

Install the SDK:

pip install openai-codex

Quickstart

The SDK reuses your existing Codex authentication when one is already available:

from openai_codex import Codex

with Codex() as codex:
    thread = codex.thread_start()
    result = thread.run("Explain this repository in three bullets.")
    print(result.final_response)

thread.run(...) returns a TurnResult containing the final response, collected items, and token usage.

Authentication

Existing Codex authentication is reused automatically. To start ChatGPT browser login explicitly:

from openai_codex import Codex

with Codex() as codex:
    login = codex.login_chatgpt()
    print(login.auth_url)
    print(login.wait().success)

For device-code login:

with Codex() as codex:
    login = codex.login_chatgpt_device_code()
    print(login.verification_url, login.user_code)
    login.wait()

For API-key login:

with Codex() as codex:
    codex.login_api_key("sk-...")

Built-In Help

Use Python's standard help(openai_codex), help(Codex), or python -m pydoc openai_codex documentation tools.

Documentation

The package is licensed under the repository Apache License 2.0.