mirror of
https://github.com/openai/codex.git
synced 2026-05-23 20:44:50 +00:00
## Why The Python and TypeScript SDKs launch the native Codex runtime directly, so they need to consume the same package artifact shape that release jobs now produce. The runtime wheel should be built from the canonical Codex package archive rather than reconstructing a parallel layout from loose binaries. ## What Changed - Stage `openai-codex-cli-bin` by extracting `codex-package-<target>.tar.gz` into `src/codex_cli_bin` and validating the expected package layout. - Update release workflows to pass the generated package archive into `stage-runtime` instead of the temporary package directory. - Update Python runtime setup to download `codex-package-*.tar.gz` release assets directly. - Expose Python runtime helpers for the bundled package directory and `codex-path`, and prepend that path when `openai_codex` launches the installed runtime without duplicating Windows `Path`/`PATH` keys. - Teach the TypeScript SDK to resolve package-layout optional dependencies while keeping the existing npm fallback layout, and preserve the existing Windows path variable casing when prepending `codex-path`. ## Test Plan - `python3 -m py_compile sdk/python/scripts/update_sdk_artifacts.py sdk/python/_runtime_setup.py sdk/python/src/openai_codex/client.py sdk/python-runtime/src/codex_cli_bin/__init__.py` - `uv run --frozen --project sdk/python --extra dev ruff check sdk/python/scripts/update_sdk_artifacts.py sdk/python/_runtime_setup.py sdk/python/src/openai_codex/client.py sdk/python/tests/test_artifact_workflow_and_binaries.py sdk/python-runtime/src/codex_cli_bin/__init__.py` - `uv run --frozen --project sdk/python --extra dev pytest sdk/python/tests/test_artifact_workflow_and_binaries.py` - `pnpm eslint src/exec.ts tests/exec.test.ts` - `pnpm test --runInBand tests/exec.test.ts`
59 lines
1.4 KiB
TOML
59 lines
1.4 KiB
TOML
[build-system]
|
|
requires = ["hatchling>=1.24.0"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "openai-codex-cli-bin"
|
|
version = "0.0.0-dev"
|
|
description = "Pinned Codex CLI runtime for the Python SDK"
|
|
readme = "README.md"
|
|
requires-python = ">=3.10"
|
|
license = { text = "Apache-2.0" }
|
|
authors = [{ name = "OpenAI" }]
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: Apache Software License",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
]
|
|
|
|
[project.urls]
|
|
Homepage = "https://github.com/openai/codex"
|
|
Repository = "https://github.com/openai/codex"
|
|
Issues = "https://github.com/openai/codex/issues"
|
|
|
|
[tool.hatch.build]
|
|
exclude = [
|
|
".venv/**",
|
|
".pytest_cache/**",
|
|
"dist/**",
|
|
"build/**",
|
|
]
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/codex_cli_bin"]
|
|
include = [
|
|
"src/codex_cli_bin/codex-package.json",
|
|
"src/codex_cli_bin/bin/**",
|
|
"src/codex_cli_bin/codex-resources/**",
|
|
"src/codex_cli_bin/codex-path/**",
|
|
]
|
|
|
|
[tool.hatch.build.targets.wheel.hooks.custom]
|
|
|
|
[tool.hatch.build.targets.sdist]
|
|
|
|
[tool.hatch.build.targets.sdist.hooks.custom]
|
|
|
|
[tool.uv]
|
|
exclude-newer = "7 days"
|
|
index-strategy = "first-index"
|
|
|
|
[tool.uv.pip]
|
|
exclude-newer = "7 days"
|
|
index-strategy = "first-index"
|