chore: migrate development workflows to uv and pin mock server tooling - #3116
Open
mcgrew-oai wants to merge 4 commits into
Open
chore: migrate development workflows to uv and pin mock server tooling#3116mcgrew-oai wants to merge 4 commits into
mcgrew-oai wants to merge 4 commits into
Conversation
mcgrew-oai
marked this pull request as ready for review
April 23, 2026 19:18
…ager-safety-dry-run # Conflicts: # bin/check-release-environment
This was referenced Aug 19, 2026
pull Bot
pushed a commit
to tooniez/openai-python
that referenced
this pull request
Aug 19, 2026
# Summary This is part of a series to reduce the SDK's dependency surface and make contributor tooling more predictable. - Manage Microsoft's Pyright package with an exact version and a checked-in pnpm lockfile, keeping the existing type-checker version. - Remove the Python Pyright wrapper and its `nodeenv` dependency. Lint runs the repository-local tool and fails with setup instructions when it is missing. - Make bootstrap and CI install the pinned toolchain explicitly, with frozen dependencies, an eight-day update policy, and lifecycle scripts disabled. Packages without publication dates are rejected too. - Keep Node tooling out of the SDK runtime and wheel build requirements. This supersedes the Pyright/toolchain portion of openai#3116 on top of the merged uv migration. Locking the existing Steady mock-server invocation is a separate follow-up.
pull Bot
pushed a commit
to tooniez/openai-python
that referenced
this pull request
Aug 19, 2026
# Summary This is part of a series to reduce the SDK's dependency surface and make contributor tooling more predictable. It builds on the merged openai#3678. - Lock the existing Steady 0.22.1 release and its platform packages in the repository's pnpm lockfile. - Keep `./scripts/bootstrap` followed by `./scripts/test` working, including automatic mock-server startup, an existing server, `TEST_API_BASE_URL`, and both Pydantic test lanes. - Run only the locally installed mock server. Missing tooling produces setup instructions instead of an on-demand npm download. This completes the mock-tooling portion of openai#3116 using the current uv/pnpm setup.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This updates the repository's development and CI workflows to use
uvas the primary Python workflow tool and replaces the ad hocnpm execmock-server install path with a pinnedpnpm-managed dependency.Changes
dependency-groupsuv.lockas the primary Python lockfilerequirements.lockandrequirements-dev.lockas compatibility exportsuvastral-sh/setup-uvuvpnpmworkspace for@stdy/clicorepack pnpm exec steady.node-versionandpnpm-lock.yamlWhy
The main driver for this change is reducing supply-chain risk in the repository's package-management paths.
In particular, this change:
uvwith an explicit committed lockfilepnpmlockfileVerification
./scripts/bootstrap./scripts/lintuv lock --checkuv build./scripts/mock --daemon./scripts/test tests/test_client.py -qgit diff --checkNotes
requirements.lockandrequirements-dev.lockare still kept for compatibility with existing tooling paths.