-
-
Notifications
You must be signed in to change notification settings - Fork 4.5k
feat: uv rollout part 1 #96782
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: uv rollout part 1 #96782
Conversation
8ba8c15 to
741a884
Compare
| colima.uninstall(binroot) | ||
| limactl.uninstall(binroot) | ||
|
|
||
| from devenv.lib import uv |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
instead of forcing everyone to global devenv 1.22.0 (which adds uv) i could also import guard this so the 1st sync updates local devenv to 1.22.0 then if uv is available, it can branch to calling uv sync
but by the time i remove requirements.txts (part 3) that compatibility will be for nothing, and there will be plenty of people who haven't done the first sync to update local devenv
so i'm thinking let's just keep it simple and require devenv update
asottile-sentry
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
….py error message
| if is_dev: | ||
| return subprocess.call(("uv", "add", "--dev", f"{args.package}>={args.version}")) | ||
|
|
||
| return subprocess.call(("uv", "add", f"{args.package}>={args.version}")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Script Fails Handling Package Extras
The bump_version script fails to handle dependencies declared with extras (e.g., sentry-sdk[http2]>=...) in pyproject.toml. extract_packages incorrectly includes these extras in the extracted package names, leading to a mismatch when compared against the args.package (CLI input), which typically lacks extras. This causes the script to incorrectly report the package as missing and exit. Additionally, the uv add command constructed by the script drops any extras, risking their removal or incorrect updates in pyproject.toml.

this is part 1 of a 3-stage rollout
stage 1 (install uv):
stage 2 (switch to uv for prod):
stage 3 (cleanup):
note: dev requirements were added via this, then i manually pinned all other transitive dependencies by diffing frozen states