Skip to content

chore: migrate development type checking to ty - #4202

Merged
marcuswood-oai merged 1 commit into
mainfrom
codex/migrate-ty-public
Oct 28, 2026
Merged

marcuswood-oai merged 1 commit into
mainfrom
codex/migrate-ty-public

Conversation

@marcuswood-oai

@marcuswood-oai marcuswood-oai commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Switch repository development type checking to ty 0.0.87. Consumers keep their choice of type checker; this change preserves public SDK signatures, runtime dependencies, supported Python versions, and the py.typed marker.

  • Use ty for repository and optional-example checks, while retaining the separate Pyright check against unchanged previous-version callers.
  • Disambiguate wrapper annotations, remove redundant casts and obsolete suppressions, and document remaining checker limitations.
  • Preserve custom pagination implementations that return arbitrary iterables.

Validation compared installed baseline and candidate wheels with Pydantic v1 and v2: 18,020 and 18,036 runtime tests passed respectively for each version, with matching baseline results. Unchanged consumer programs and all 104 wrapper type contracts passed mypy and Pyright; the candidate also passed ty. Public signatures, model schemas, exports, and package metadata matched the baseline. VS Code/Pylance completion, hover, navigation, signatures, and diagnostics were checked. Repository lint, build, and Python 3.10/3.14 CI passed on the source tree.

The prerequisite tooling changes have landed. Regeneration produced identical SDK source and wheel contents; only generation metadata changed. The installed-wheel consumer checks, wrapper contracts, pagination behavior, public signatures, and model-schema comparisons were rerun successfully. Fresh CI passes for this revision, including the previous-version consumer compatibility check and Python 3.10/3.14 runtime tests.

@marcuswood-oai
marcuswood-oai marked this pull request as ready for review October 28, 2026 19:42
@marcuswood-oai
marcuswood-oai requested a review from a team as a code owner October 28, 2026 19:42
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-28T20:20:15.231070Z 1503fb5 New commits
🔒 Security Review ✅ Completed 2026-10-28T20:21:19.612372Z 1503fb5 New commits
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Comment thread src/openai/__init__.py
Comment thread tests/utils.py
Comment thread src/openai/__init__.py
Comment thread src/openai/lib/beta/agents/_tools.py
Comment thread tests/test_models.py
Comment thread src/openai/lib/_response_resources.py
Comment thread src/openai/_extras/sounddevice_proxy.py

@jbeckwith-oai jbeckwith-oai left a comment

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.

Approved the public promotion at ee090b0 after an independent static pass. Both reviewers verified all 2,634 file paths and blob hashes match the approved internal 69c2412 tree exactly, including source, tests, tooling and metadata. Existing review coverage therefore carries across this squash without promotion differences. Current code-quality feedback was checked: the Azure initializer warning overlooks inherited MRO dispatch; the remaining comments do not identify a correctness regression. No actionable findings.

All executed hosted checks pass, including Python 3.10/3.14, lint/build, provider typing, CodeQL and OkTest; examples and compatibility jobs are skipped. No candidate code or tests executed locally. The author-stated Castiron/final-regeneration merge hold remains separate from this source approval.

@markstuart-oai markstuart-oai left a comment

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.

Reviewed ee090b05c8f8be6b9cc4b7ba7849a049450cdae2. No changes requested.

The repository checker migration preserves runtime dependencies, supported Python versions, public type contracts and custom pagination's Iterable behavior. The remaining differences retain the existing wrapper calls and remove obsolete suppressions and runtime-no-op casts. The current automated review comments do not establish a new defect in the changed code.

Source-only review with an independent pass across all 174 changed files, reusing prior review only where the captured files match exactly. No candidate code, tests or builds ran locally. The reported wheel, consumer and editor checks remain author-reported; hosted CI is checked separately before publication. The stated tooling and final-regeneration merge hold remains in place.

@marcuswood-oai
marcuswood-oai force-pushed the codex/migrate-ty-public branch from ee090b0 to 1503fb5 Compare October 28, 2026 20:17
@marcuswood-oai
marcuswood-oai added this pull request to the merge queue Oct 28, 2026

@jbeckwith-oai jbeckwith-oai left a comment

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.

Re-reviewed 1503fb5 with an independent static pass. The complete 2,634-file tree matches the approved internal 626fab14 tree exactly, including file modes. Compared with the previously approved public head, only .castiron.stats.yml generation/compiler identifiers changed; source, tests and configuration are unchanged. No new actionable findings. All executed hosted checks pass; examples and compatibility jobs are skipped. No candidate code or tests ran locally. The author-stated tooling/final-regeneration merge hold remains separate from this approval.

Merged via the queue into main with commit 45b9531 Oct 28, 2026
26 checks passed
@marcuswood-oai
marcuswood-oai deleted the codex/migrate-ty-public branch October 28, 2026 20:36
@openai-sdks openai-sdks Bot mentioned this pull request Oct 28, 2026
gh-actions-shared Bot pushed a commit to xf-qubit/openai-python that referenced this pull request Oct 28, 2026
Automated Release PR
---


##
[3.41.0](openai/openai-python@v3.40.0...v3.41.0)
(2026-10-28)


### Features

* **api:** accept typed references in Realtime response inputs
([openai#4189](openai#4189))
([8ecb487](openai@8ecb487))
* **api:** add response tool usage models
([openai#4201](openai#4201))
([55fc500](openai@55fc500))
* **api:** filter agent sessions by metadata
([openai#4200](openai#4200))
([77fd116](openai@77fd116))
* **websocket:** recover queued binary frames after reconnect
([openai#4191](openai#4191))
([f079868](openai@f079868))


### Bug Fixes

* **examples:** detect incomplete WebSocket responses
([openai#4187](openai#4187))
([8559299](openai@8559299))
* **examples:** handle interruptions and disconnects in push-to-talk
([openai#4192](openai#4192))
([35fc9f3](openai@35fc9f3))
* keep consumer fixtures clean under strict Pyright
([openai#4204](openai#4204))
([5012565](openai@5012565))


### Chores

* **api:** document upcoming model shutdowns
([openai#4199](openai#4199))
([5b43cce](openai@5b43cce))
* **api:** update image-model documentation
([openai#4198](openai#4198))
([fa67521](openai@fa67521))
* enforce generated-file ownership
([openai#4193](openai#4193))
([1b37b9a](openai@1b37b9a))
* migrate development type checking to ty
([openai#4202](openai#4202))
([45b9531](openai@45b9531))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: openai-sdks[bot] <284451331+openai-sdks[bot]@users.noreply.github.com>
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.

4 participants