Skip to content

[codex] Accept string input for Python turns#23162

Merged
aibrahim-oai merged 2 commits into
mainfrom
codex/python-turn-string-input
May 17, 2026
Merged

[codex] Accept string input for Python turns#23162
aibrahim-oai merged 2 commits into
mainfrom
codex/python-turn-string-input

Conversation

@aibrahim-oai
Copy link
Copy Markdown
Collaborator

Summary

  • Allow thread.turn and turn.steer, including async variants, to accept RunInput so plain strings work alongside typed input objects.
  • Export RunInput and update the SDK artifact generator so regenerated turn methods keep the same signature and normalization.
  • Update docs, examples, notebook cells, and tests to use string shorthand for text-only turns while keeping typed inputs for multimodal input.

Validation

  • uv run --extra dev ruff format .
  • uv run --extra dev ruff check --output-format=github .
  • python3 -m py_compile sdk/python/src/openai_codex/init.py sdk/python/src/openai_codex/api.py sdk/python/src/openai_codex/_inputs.py sdk/python/scripts/update_sdk_artifacts.py sdk/python/tests/test_public_api_signatures.py sdk/python/tests/test_app_server_streaming.py sdk/python/tests/test_app_server_turn_controls.py sdk/python/tests/test_real_app_server_integration.py
  • python3 -c "import json; json.load(open('sdk/python/notebooks/sdk_walkthrough.ipynb'))"
  • sdk/python/.venv/bin/python -c "import inspect, openai_codex; from openai_codex import Thread, AsyncThread, TurnHandle, AsyncTurnHandle, RunInput; funcs=[Thread.run, Thread.turn, AsyncThread.run, AsyncThread.turn, TurnHandle.steer, AsyncTurnHandle.steer]; assert all(inspect.signature(fn).parameters['input'].annotation == 'RunInput' for fn in funcs); assert RunInput is openai_codex.RunInput"

@aibrahim-oai aibrahim-oai merged commit e7bffc5 into main May 17, 2026
30 checks passed
@aibrahim-oai aibrahim-oai deleted the codex/python-turn-string-input branch May 17, 2026 16:05
@github-actions github-actions Bot locked and limited conversation to collaborators May 17, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant