[codex] Pin Python SDK to runtime 0.137.0a4 (#26216)

## Summary
- pin the Python SDK runtime to `openai-codex-cli-bin==0.137.0a4`
- refresh generated protocol artifacts from `rust-v0.137.0-alpha.4`
- refresh `sdk/python/uv.lock` with all eight published runtime wheels

## Runtime publication
- published `openai-codex-cli-bin==0.137.0a4` through the
`python-sdk-release` workflow
- includes macOS, manylinux, musllinux, and Windows wheels
- publication run:
https://github.com/openai/codex/actions/runs/26905608531

## Validation
- ran `just fmt`
- generated artifacts from the `rust-v0.137.0-alpha.4` release wheel
- ran `uv lock --check --default-index https://pypi.org/simple`
- did not run tests locally, per request; CI provides the test signal
This commit is contained in:
Ahmed Ibrahim
2026-06-03 12:14:14 -07:00
committed by GitHub
Unverified
parent 2d5c264ebc
commit 10b408080a
5 changed files with 65 additions and 23 deletions
+3 -3
View File
@@ -16,7 +16,7 @@ classifiers = [
"Intended Audience :: Developers",
"Topic :: Software Development :: Libraries :: Python Modules",
]
dependencies = ["pydantic>=2.12", "openai-codex-cli-bin==0.136.0"]
dependencies = ["pydantic>=2.12", "openai-codex-cli-bin==0.137.0a4"]
[project.urls]
Homepage = "https://github.com/openai/codex"
@@ -78,10 +78,10 @@ combine-as-imports = true
[tool.uv]
exclude-newer = "7 days"
exclude-newer-package = { openai-codex-cli-bin = "2026-06-01T20:00:00Z" }
exclude-newer-package = { openai-codex-cli-bin = "2026-06-03T19:00:00Z" }
index-strategy = "first-index"
[tool.uv.pip]
exclude-newer = "7 days"
exclude-newer-package = { openai-codex-cli-bin = "2026-06-01T20:00:00Z" }
exclude-newer-package = { openai-codex-cli-bin = "2026-06-03T19:00:00Z" }
index-strategy = "first-index"
@@ -602,6 +602,22 @@ class SystemConfigLayerSource(BaseModel):
type: Annotated[Literal["system"], Field(title="SystemConfigLayerSourceType")]
class EnterpriseManagedConfigLayerSource(BaseModel):
model_config = ConfigDict(
populate_by_name=True,
)
id: Annotated[str, Field(description="Stable identifier for the delivered layer.")]
name: Annotated[
str,
Field(
description="Admin-facing name for the delivered layer. This is surfaced in diagnostics so users know which cloud layer needs administrator attention."
),
]
type: Annotated[
Literal["enterpriseManaged"], Field(title="EnterpriseManagedConfigLayerSourceType")
]
class UserConfigLayerSource(BaseModel):
model_config = ConfigDict(
populate_by_name=True,
@@ -661,6 +677,7 @@ class ConfigLayerSource(
RootModel[
MdmConfigLayerSource
| SystemConfigLayerSource
| EnterpriseManagedConfigLayerSource
| UserConfigLayerSource
| ProjectConfigLayerSource
| SessionFlagsConfigLayerSource
@@ -674,6 +691,7 @@ class ConfigLayerSource(
root: (
MdmConfigLayerSource
| SystemConfigLayerSource
| EnterpriseManagedConfigLayerSource
| UserConfigLayerSource
| ProjectConfigLayerSource
| SessionFlagsConfigLayerSource
@@ -1513,6 +1531,7 @@ class HookSource(Enum):
session_flags = "sessionFlags"
plugin = "plugin"
cloud_requirements = "cloudRequirements"
cloud_managed_config = "cloudManagedConfig"
legacy_managed_config_file = "legacyManagedConfigFile"
legacy_managed_config_mdm = "legacyManagedConfigMdm"
unknown = "unknown"
@@ -3578,6 +3597,16 @@ class SortDirection(Enum):
desc = "desc"
class SpendControlLimitSnapshot(BaseModel):
model_config = ConfigDict(
populate_by_name=True,
)
limit: str
remaining_percent: Annotated[int, Field(alias="remainingPercent")]
resets_at: Annotated[int, Field(alias="resetsAt")]
used: str
class SubAgentSourceValue(Enum):
review = "review"
compact = "compact"
@@ -4657,6 +4686,7 @@ class AppConfig(BaseModel):
model_config = ConfigDict(
populate_by_name=True,
)
approvals_reviewer: ApprovalsReviewer | None = None
default_tools_approval_mode: AppToolApproval | None = None
default_tools_enabled: bool | None = None
destructive_enabled: bool | None = None
@@ -6118,6 +6148,9 @@ class RateLimitSnapshot(BaseModel):
populate_by_name=True,
)
credits: CreditsSnapshot | None = None
individual_limit: Annotated[
SpendControlLimitSnapshot | None, Field(alias="individualLimit")
] = None
limit_id: Annotated[str | None, Field(alias="limitId")] = None
limit_name: Annotated[str | None, Field(alias="limitName")] = None
plan_type: Annotated[PlanType | None, Field(alias="planType")] = None
@@ -8011,6 +8044,13 @@ class Thread(BaseModel):
),
]
name: Annotated[str | None, Field(description="Optional user-facing thread title.")] = None
parent_thread_id: Annotated[
str | None,
Field(
alias="parentThreadId",
description="The ID of the parent thread. This will only be set if this thread is a subagent.",
),
] = None
path: Annotated[str | None, Field(description="[UNSTABLE] Path to the thread on disk.")] = None
preview: Annotated[
str, Field(description="Usually the first user message in the thread, if available.")
@@ -261,13 +261,13 @@ def test_schema_normalization_only_flattens_string_literal_oneofs(
assert flattened == [
"MessagePhase",
"TurnItemsView",
"PluginAvailability",
"AuthMode",
"PluginAvailability",
"InputModality",
"ExperimentalFeatureStage",
"AutoCompactTokenLimitScope",
"CommandExecOutputStream",
"ProcessOutputStream",
"CommandExecOutputStream",
"AutoCompactTokenLimitScope",
]
@@ -358,10 +358,10 @@ def test_source_sdk_template_pins_published_runtime() -> None:
"dependencies": pyproject["project"]["dependencies"],
} == {
"sdk_template_version": "0.0.0-dev",
"runtime_pin": "0.136.0",
"runtime_pin": "0.137.0a4",
"dependencies": [
"pydantic>=2.12",
"openai-codex-cli-bin==0.136.0",
"openai-codex-cli-bin==0.137.0a4",
],
}
@@ -436,7 +436,7 @@ def test_runtime_setup_reads_independent_runtime_pin_and_release_tags() -> None:
} == {
"package_name": "openai-codex-cli-bin",
"sdk_template_version": "0.0.0-dev",
"runtime_pin": "0.136.0",
"runtime_pin": "0.137.0a4",
"normalized_release_version": "0.116.0a1",
"release_tag": "rust-v0.116.0-alpha.1",
}
@@ -651,7 +651,7 @@ def test_stage_sdk_release_preserves_reviewed_runtime_pin(tmp_path: Path) -> Non
"version": "0.1.0b1",
"dependencies": [
"pydantic>=2.12",
"openai-codex-cli-bin==0.136.0",
"openai-codex-cli-bin==0.137.0a4",
],
}
assert (
@@ -688,7 +688,7 @@ def test_sdk_beta_release_can_pin_stable_runtime(tmp_path: Path) -> None:
)
runtime_stage = script.stage_python_runtime_package(
tmp_path / "runtime-stage",
"0.136.0",
"0.137.0a4",
package_archive,
)
@@ -701,10 +701,10 @@ def test_sdk_beta_release_can_pin_stable_runtime(tmp_path: Path) -> None:
"sdk_dependencies": sdk_pyproject["project"]["dependencies"],
} == {
"sdk_version": "0.1.0b1",
"runtime_version": "0.136.0",
"runtime_version": "0.137.0a4",
"sdk_dependencies": [
"pydantic>=2.12",
"openai-codex-cli-bin==0.136.0",
"openai-codex-cli-bin==0.137.0a4",
],
}
+1 -1
View File
@@ -40,7 +40,7 @@ def test_generated_files_are_up_to_date():
# Regenerate contract artifacts via the pinned runtime package, not a local
# app-server binary from the checkout or CI environment.
assert importlib.metadata.version("openai-codex-cli-bin") == "0.136.0"
assert importlib.metadata.version("openai-codex-cli-bin") == "0.137.0a4"
env = os.environ.copy()
env.pop("CODEX_EXEC_PATH", None)
python_bin = str(Path(sys.executable).parent)
+11 -9
View File
@@ -7,7 +7,7 @@ exclude-newer = "0001-01-01T00:00:00Z" # This has no effect and is included for
exclude-newer-span = "P7D"
[options.exclude-newer-package]
openai-codex-cli-bin = "2026-06-01T20:00:00Z"
openai-codex-cli-bin = "2026-06-03T19:00:00Z"
[[package]]
name = "annotated-types"
@@ -299,7 +299,7 @@ dev = [
[package.metadata]
requires-dist = [
{ name = "datamodel-code-generator", marker = "extra == 'dev'", specifier = "==0.31.2" },
{ name = "openai-codex-cli-bin", specifier = "==0.136.0" },
{ name = "openai-codex-cli-bin", specifier = "==0.137.0a4" },
{ name = "pydantic", specifier = ">=2.12" },
{ name = "pytest", marker = "extra == 'dev'", specifier = ">=8.0" },
{ name = "ruff", marker = "extra == 'dev'", specifier = ">=0.15.8" },
@@ -308,15 +308,17 @@ provides-extras = ["dev"]
[[package]]
name = "openai-codex-cli-bin"
version = "0.136.0"
version = "0.137.0a4"
source = { registry = "https://pypi.org/simple" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/45/2e/09764338fcb104ebcb1ebf2490d71ab4b8339b5d6f8bdce19480adad5a99/openai_codex_cli_bin-0.136.0-py3-none-macosx_10_9_x86_64.whl", hash = "sha256:9ded24a9977221f67173f49b8c3ba3a944787b7323dbd664dd8e8ae1a5efc0aa", size = 94036262, upload-time = "2026-06-01T19:28:13.291Z" },
{ url = "https://files.pythonhosted.org/packages/44/46/10dea458f8ead97b6449a1c05b65883ffe28724204c05e6169439576ee48/openai_codex_cli_bin-0.136.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:8d194688c1afe87bf85705528cbcbdb762cb378d8c58c64162402babbd795436", size = 83713829, upload-time = "2026-06-01T19:28:17.39Z" },
{ url = "https://files.pythonhosted.org/packages/7d/83/21402a805f3312196a4f4bef0b6a45d3dee301e3db3ddeee117b4b1e612b/openai_codex_cli_bin-0.136.0-py3-none-manylinux_2_17_aarch64.whl", hash = "sha256:bdbdfeeac5bb2e744bd810cb60c55313c280d0f6ff9e93699431bcfc2040c9c2", size = 82981863, upload-time = "2026-06-01T19:28:21.246Z" },
{ url = "https://files.pythonhosted.org/packages/33/79/1617e008381345391def39254404c0248a425739bd13c95d9fbe3e63d16f/openai_codex_cli_bin-0.136.0-py3-none-manylinux_2_17_x86_64.whl", hash = "sha256:37b353435f354c6d1bcc32e3b83e40ef9d1ef7294c8adedd229fbaedc82a6f74", size = 90187224, upload-time = "2026-06-01T19:28:24.89Z" },
{ url = "https://files.pythonhosted.org/packages/f4/bc/a591d4464f999e0fab6abb5ba369463eee99a82e7c298e2cff257d80b849/openai_codex_cli_bin-0.136.0-py3-none-win_amd64.whl", hash = "sha256:c91ffbb1d903970e74b65958f7d1fa548fac8abdfe9b3a098f3da7f47dbb2575", size = 91137642, upload-time = "2026-06-01T19:28:28.512Z" },
{ url = "https://files.pythonhosted.org/packages/89/f3/e8ccd644e7a87a25229022088abf4d724d3d608fcda7123f9a11515409ca/openai_codex_cli_bin-0.136.0-py3-none-win_arm64.whl", hash = "sha256:9073f7283c47ad3e585e23598ebbef554e85d280cabb637b6cb9a078c5e7086a", size = 83623904, upload-time = "2026-06-01T19:28:32.734Z" },
{ url = "https://files.pythonhosted.org/packages/bd/60/af73ef1676cd477fa83ed4b889bf3b57c63c47dd87025b2cc4262793cff6/openai_codex_cli_bin-0.137.0a4-py3-none-macosx_10_9_x86_64.whl", hash = "sha256:b33c3917e0b58d527ee11a11a78ad390f7d8e6aa25577dd21665ab3c8bf5cf9a", size = 94300191, upload-time = "2026-06-03T18:44:36.312Z" },
{ url = "https://files.pythonhosted.org/packages/92/8f/d1a5f8c87176e00ef6a85798794f4530f5eb04e5a1a13468b5b3c3a361f9/openai_codex_cli_bin-0.137.0a4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:3d0f0bc5becc88c61952fbfa9bd792ac9d74fa78b3a6bd40f545b612048b07eb", size = 83924479, upload-time = "2026-06-03T18:44:40.854Z" },
{ url = "https://files.pythonhosted.org/packages/3e/3c/fc00bcdc0c302208317d5eb1d0bfaab3024f351cd0121400f19baa6b19aa/openai_codex_cli_bin-0.137.0a4-py3-none-manylinux_2_17_aarch64.whl", hash = "sha256:2f1656339e2736868c4cce59f6d9e5c633879123687169b03b1137d42bf2c11a", size = 83363315, upload-time = "2026-06-03T18:44:44.851Z" },
{ url = "https://files.pythonhosted.org/packages/ec/09/39362e944ebeb12fcbfb86881fbb4dd6e806f77f7541c1f1f993bb9351a0/openai_codex_cli_bin-0.137.0a4-py3-none-manylinux_2_17_x86_64.whl", hash = "sha256:6454f838d44c56c1ed07a29b391fa412785e5dd2ffd06db0b62e62478c19bb64", size = 90611239, upload-time = "2026-06-03T18:44:49.338Z" },
{ url = "https://files.pythonhosted.org/packages/fa/38/87b1247fdfe95cddce7f7fe8331d6843cf037e14292c0f5004e23247133b/openai_codex_cli_bin-0.137.0a4-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:f5ae7401d00c65d56a75d9645d7bf87d809566a12d238e4b2a8b328a02f2316e", size = 83363315, upload-time = "2026-06-03T18:44:53.428Z" },
{ url = "https://files.pythonhosted.org/packages/fb/c4/3c693ad07e587f6b3a28128c417f2e831d81a40cdbd85c0e5f0f36aaff82/openai_codex_cli_bin-0.137.0a4-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:3dcec1e649448be498d6e7ec0e1f71dca83efa76063d90890dafb41e987069b7", size = 90611238, upload-time = "2026-06-03T18:44:57.612Z" },
{ url = "https://files.pythonhosted.org/packages/9e/26/81e037066b9b8d312a6f9e09015e452ce17630d5ab88e02a4c1d9503e4e8/openai_codex_cli_bin-0.137.0a4-py3-none-win_amd64.whl", hash = "sha256:9e13bf68e18e36bd3a0efd51213281c83e9f6ec22bdb7a45bd2e0211822733a9", size = 94744969, upload-time = "2026-06-03T18:45:02.23Z" },
{ url = "https://files.pythonhosted.org/packages/0d/a3/952bc2a5d62373a51fea161effe3b338b3417c2f6e65fe467ed91b205e2b/openai_codex_cli_bin-0.137.0a4-py3-none-win_arm64.whl", hash = "sha256:5ec4303ca2dcb5f838e0de3ca7f44050b6bcdd41d281a178c3a1420a985a515d", size = 86963504, upload-time = "2026-06-03T18:45:07.131Z" },
]
[[package]]