Files
codex/sdk/python/pyproject.toml
T
Adam Perry @ OpenAI 0eb98b4617 Upgrade Python SDK model generation to datamodel-code-generator 0.64.0 (#56272)
## What changed

- Regenerate protocol models with `datamodel-code-generator==0.64.0`, targeting Python 3.10.
- Preserve discriminator field titles without introducing extra `RootModel` wrappers for literal values or inline unions.
- Keep nullable project and section IDs optional for compatibility with older SDKs, and remove redundant required-nullable field patches.

## Testing

Extend schema annotation coverage to assert that `ReasoningSummary.model_validate("none").root` remains the string `"none"`.

GitOrigin-RevId: 386d07d7e2e368b07d4602b49be6e81a887685fe
2026-10-22 21:40:58 +00:00

78 lines
1.9 KiB
TOML

[build-system]
requires = ["uv_build>=0.11.19,<0.12"]
build-backend = "uv_build"
[project]
name = "openai-codex"
version = "0.0.0-dev"
description = "Python SDK for Codex"
readme = "README.md"
requires-python = ">=3.10"
license = "Apache-2.0"
authors = [{ name = "OpenAI" }]
keywords = ["codex", "sdk", "llm", "ai", "agents"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Topic :: Software Development :: Libraries :: Python Modules",
]
dependencies = ["pydantic>=2.12", "packaging>=26.2", "openai-codex-cli-bin==0.153.4"]
[project.urls]
Homepage = "https://github.com/openai/codex"
Repository = "https://github.com/openai/codex"
Issues = "https://github.com/openai/codex/issues"
Documentation = "https://github.com/openai/codex/tree/main/sdk/python/docs"
[dependency-groups]
format = ["ruff>=0.15.8"]
test = [
"pytest>=8.0",
"datamodel-code-generator==0.64.0",
{ include-group = "format" },
]
dev = [
{ include-group = "test" },
{ include-group = "format" },
]
[tool.codex.codegen]
schema-dir = "../../codex-rs/app-server-protocol/schema/json"
[tool.pytest.ini_options]
addopts = "-q"
testpaths = ["tests"]
[tool.ruff]
target-version = "py310"
required-version = ">=0.15.8"
line-length = 100
extend-exclude = [
"notebooks/**",
"src/openai_codex/generated/**",
]
[tool.ruff.lint]
select = ["E", "F", "I", "B", "C4"]
ignore = ["E501"]
preview = true
extend-safe-fixes = ["ALL"]
unfixable = ["F841"]
[tool.ruff.lint.per-file-ignores]
"examples/**/*.py" = ["E402"]
"tests/test_real_app_server_integration.py" = ["E402"]
[tool.ruff.lint.isort]
combine-as-imports = true
[tool.uv]
exclude-newer = "7 days"
exclude-newer-package = { openai-codex-cli-bin = "2026-09-09T06:06:45Z" }
index-strategy = "first-index"
[tool.uv.pip]
exclude-newer = "7 days"
exclude-newer-package = { openai-codex-cli-bin = "2026-09-09T06:06:45Z" }
index-strategy = "first-index"