Skip to content

[codex] Pin Python SDK to glibc-compatible runtime#25766

Closed
aibrahim-oai wants to merge 7 commits into
openai:mainfrom
aibrahim-oai:dev/python-sdk-runtime-0.136.0
Closed

[codex] Pin Python SDK to glibc-compatible runtime#25766
aibrahim-oai wants to merge 7 commits into
openai:mainfrom
aibrahim-oai:dev/python-sdk-runtime-0.136.0

Conversation

@aibrahim-oai
Copy link
Copy Markdown
Collaborator

Summary

  • pin openai-codex-cli-bin==0.136.0 in the Python SDK
  • update the SDK CI and release images from Alpine to Debian slim so they install the pinned manylinux_2_17 wheel
  • regenerate the Python SDK protocol artifacts from runtime 0.136.0

Why

openai-codex==0.1.0b2 pins runtime 0.132.0, whose Linux wheels are tagged musllinux. Pip therefore cannot resolve the dependency on normal glibc Linux distributions such as Ubuntu. Runtime 0.136.0 publishes manylinux_2_17 wheels for Linux x86_64 and aarch64.

Validation

  • just fmt
  • git diff --check
  • UV_CACHE_DIR=/private/tmp/codex-uv-cache-public UV_DEFAULT_INDEX=https://pypi.org/simple uv lock --check

Per repository instruction, left test execution to CI after publishing the PR.

Copy link
Copy Markdown
Contributor

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

def steer(self, input: RunInput) -> TurnSteerResponse:

P2 Badge Expose message ids for steering too

The regenerated protocol now includes clientUserMessageId on TurnSteerParams, but the public steer helpers still only accept input and CodexClient.turn_steer builds a fixed payload without that field. Any client that sends follow-up user messages via turn.steer(...) therefore cannot attach the same client-side message identifier that is now supported for turn/start, so correlation/deduplication works for the first message but not for subsequent steers in the same turn.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

input: RunInput,
*,
approval_mode: ApprovalMode | None = None,
client_user_message_id: str | None = None,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Thread the message id through run helpers

Adding client_user_message_id only to Thread.turn/AsyncThread.turn leaves callers of the higher-level run() convenience methods unable to set the same ID; those wrappers still mirror every other turn option and immediately call self.turn(...) without this new argument. In code paths that rely on run() to start and collect a turn, the client-supplied user message ID is silently impossible to send, so deduplication/correlation based on that field will not work unless callers rewrite to the lower-level handle API.

Useful? React with 👍 / 👎.

read = "read"
write = "write"
none = "none"
deny = "deny"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep aliases for renamed permission enum values

Renaming the Python enum member from none to deny breaks existing SDK callers that refer to FileSystemAccessMode.none when constructing permission payloads; this is an external integration surface covered by the repo's breaking-change review rules. If the wire value needs to change to deny, keep a deprecated Python alias such as none = "deny" (and do the same for the analogous network socket enum) so source-compatible callers can still upgrade while emitting the new value.

Useful? React with 👍 / 👎.

@aibrahim-oai
Copy link
Copy Markdown
Collaborator Author

Superseded by upstream branch PR #25907.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant