Skip to content

chore: migrate development workflows to uv and pin mock server tooling - #3116

Open
mcgrew-oai wants to merge 4 commits into
mainfrom
dev/codex/package-manager-safety-dry-run
Open

chore: migrate development workflows to uv and pin mock server tooling#3116
mcgrew-oai wants to merge 4 commits into
mainfrom
dev/codex/package-manager-safety-dry-run

Conversation

@mcgrew-oai

@mcgrew-oai mcgrew-oai commented Apr 23, 2026

Copy link
Copy Markdown

Summary

This updates the repository's development and CI workflows to use uv as the primary Python workflow tool and replaces the ad hoc npm exec mock-server install path with a pinned pnpm-managed dependency.

Changes

  • migrate dev dependencies from Rye config to dependency-groups
  • add uv.lock as the primary Python lockfile
  • keep requirements.lock and requirements-dev.lock as compatibility exports
  • update bootstrap, lint, format, test, and publish scripts to use uv
  • update CI workflows to use pinned astral-sh/setup-uv
  • update devcontainer and contributor docs to use uv
  • add a pinned pnpm workspace for @stdy/cli
  • update mock/test flows to use corepack pnpm exec steady
  • add .node-version and pnpm-lock.yaml

Why

The main driver for this change is reducing supply-chain risk in the repository's package-management paths.

In particular, this change:

  • standardizes Python workflow management on uv with an explicit committed lockfile
  • removes deprecated Rye-based repo workflow configuration as an active install path
  • avoids fresh runtime resolution of the mock server tool during CI by pinning it behind a committed pnpm lockfile
  • makes dependency installation paths more explicit and reviewable in CI and local development

Verification

  • ./scripts/bootstrap
  • ./scripts/lint
  • uv lock --check
  • uv build
  • ./scripts/mock --daemon
  • ./scripts/test tests/test_client.py -q
  • git diff --check

Notes

  • requirements.lock and requirements-dev.lock are still kept for compatibility with existing tooling paths.
  • no runtime SDK behavior is intended to change.

@mcgrew-oai
mcgrew-oai marked this pull request as ready for review April 23, 2026 19:18
@mcgrew-oai
mcgrew-oai requested a review from a team as a code owner April 23, 2026 19:18
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.
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.

1 participant