Skip to content
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

Update uv requirement from <0.6,>=0.5 to >=0.5,<0.7 #148

Merged
merged 1 commit into from
Feb 18, 2025

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Feb 17, 2025

Updates the requirements on uv to permit the latest version.

Release notes

Sourced from uv's releases.

0.6.0

Release Notes

There have been 31 releases and 1135 pull requests since 0.5.0, our last release with breaking changes. As before, we've accumulated various changes that improve correctness and user experience, but could break some workflows. This release contains those changes; many have been marked as breaking out of an abundance of caution. We expect most users to be able to upgrade without making changes.

Breaking changes

  • Create main.py instead of hello.py in uv init (#10369)

    Previously, uv init created a hello.py sample file. Now, uv init will create main.py instead — which aligns with expectations from user feedback. The --bare option can be used to avoid creating the file altogether.

  • Respect UV_PYTHON in uv python install (#11487)

    Previously, uv python install did not read this environment variable; now it does. We believe this matches user expectations, however, this will take priority over .python-version files which could be considered breaking.

  • Set UV to the uv executable path (#11326)

    When uv spawns a subprocess, it will now have the UV environment variable set to the uv binary path. This change is breaking if you are setting the UV environment variable yourself, as we will overwrite its value.

    Additionally, this change requires marking the uv Rust entrypoint (uv::main) as unsafe to avoid unsoundness — this is only relevant if you are invoking uv using Rust. See the Rust documentation for details about the safety of updating a process' environment.

  • Error on non-existent extras, e.g., in uv sync (#11426)

    Previously, uv would silently ignore non-existent extras requested on the command-line (e.g., via uv sync --extra foo). This is generally correct behavior when resolving requests for package extras, because an extra may be present on one compatible version of a package but not another. However, this flexibility doesn't need to apply to the local project and it's less surprising to error here.

  • Error on missing dependency groups when --frozen is provided (#11499)

    Previously, uv would not validate that the requested dependency groups were present in the lockfile when the --frozen flag was used. Now, an error will be raised if a requested dependency group is not present.

  • Change -p to a --python alias in uv pip compile (#11486)

    In uv pip compile, -p was an alias for --python-version while everywhere else in uv's interface it is an alias for --python. Additionally, uv pip compile did not respect the UV_PYTHON environment variable. Now, the semantics of this flag have been updated for parity with the rest of the CLI.

    However, --python-version is unique: if we cannot find an interpreter with the given version, we will not fail. Instead, we'll use an alternative interpreter and override its version tags with the requested version during package resolution. This behavior is retained here for backwards compatibility, --python <version> / -p <version> will not fail if the version cannot be found. However, if a specific interpreter is requested, e.g., with --python <path> or --python pypy, and cannot be found — uv will exit with an error.

    The breaking changes here are that UV_PYTHON is respected and --python <version> will no longer fail if the version cannot be found.

  • Bump alpine default tag to 3.21 for derived Docker images (#11157)

    Alpine 3.21 was released in Dec 2024 and is used in the official Alpine-based Python images. Our uv:python3.x-alpine images have been using 3.21 since uv v0.5.8. However, now the the uv:alpine image will use 3.21 instead of 3.20 and uv:alpine3.20 will no longer be updated.

  • Use files instead of junctions on Windows (#11269)

    Previously, we used junctions for atomic replacement of cache entries on Windows. Now, we use a file with a pointer to the cache entry instead. This resolves various edge-case behaviors with junctions. These files are only intended to be consumed by uv and the cache version has been bumped. We do not think this change will affect workflows.

Stabilizations

  • uv publish is no longer in preview (#11032)

    This does not come with any behavior changes. You will no longer see an experimental warning when using uv publish. See the linked pull request for a report on the stabilization.

... (truncated)

Changelog

Sourced from uv's changelog.

0.6.0

There have been 31 releases and 1135 pull requests since 0.5.0, our last release with breaking changes. As before, we've accumulated various changes that improve correctness and user experience, but could break some workflows. This release contains those changes; many have been marked as breaking out of an abundance of caution. We expect most users to be able to upgrade without making changes.

Breaking changes

  • Create main.py instead of hello.py in uv init (#10369)

    Previously, uv init created a hello.py sample file. Now, uv init will create main.py instead — which aligns with expectations from user feedback. The --bare option can be used to avoid creating the file altogether.

  • Respect UV_PYTHON in uv python install (#11487)

    Previously, uv python install did not read this environment variable; now it does. We believe this matches user expectations, however, this will take priority over .python-version files which could be considered breaking.

  • Set UV to the uv executable path (#11326)

    When uv spawns a subprocess, it will now have the UV environment variable set to the uv binary path. This change is breaking if you are setting the UV environment variable yourself, as we will overwrite its value.

    Additionally, this change requires marking the uv Rust entrypoint (uv::main) as unsafe to avoid unsoundness — this is only relevant if you are invoking uv using Rust. See the Rust documentation for details about the safety of updating a process' environment.

  • Error on non-existent extras, e.g., in uv sync (#11426)

    Previously, uv would silently ignore non-existent extras requested on the command-line (e.g., via uv sync --extra foo). This is generally correct behavior when resolving requests for package extras, because an extra may be present on one compatible version of a package but not another. However, this flexibility doesn't need to apply to the local project and it's less surprising to error here.

  • Error on missing dependency groups when --frozen is provided (#11499)

    Previously, uv would not validate that the requested dependency groups were present in the lockfile when the --frozen flag was used. Now, an error will be raised if a requested dependency group is not present.

  • Change -p to a --python alias in uv pip compile (#11486)

    In uv pip compile, -p was an alias for --python-version while everywhere else in uv's interface it is an alias for --python. Additionally, uv pip compile did not respect the UV_PYTHON environment variable. Now, the semantics of this flag have been updated for parity with the rest of the CLI.

    However, --python-version is unique: if we cannot find an interpreter with the given version, we will not fail. Instead, we'll use an alternative interpreter and override its version tags with the requested version during package resolution. This behavior is retained here for backwards compatibility, --python <version> / -p <version> will not fail if the version cannot be found. However, if a specific interpreter is requested, e.g., with --python <path> or --python pypy, and cannot be found — uv will exit with an error.

    The breaking changes here are that UV_PYTHON is respected and --python <version> will no longer fail if the version cannot be found.

  • Bump alpine default tag to 3.21 for derived Docker images (#11157)

    Alpine 3.21 was released in Dec 2024 and is used in the official Alpine-based Python images. Our uv:python3.x-alpine images have been using 3.21 since uv v0.5.8. However, now the the uv:alpine image will use 3.21 instead of 3.20 and uv:alpine3.20 will no longer be updated.

  • Use files instead of junctions on Windows (#11269)

    Previously, we used junctions for atomic replacement of cache entries on Windows. Now, we use a file with a pointer to the cache entry instead. This resolves various edge-case behaviors with junctions. These files are only intended to be consumed by uv and the cache version has been bumped. We do not think this change will affect workflows.

Stabilizations

  • uv publish is no longer in preview (#11032)

    This does not come with any behavior changes. You will no longer see an experimental warning when using uv publish. See the linked pull request for a report on the stabilization.

... (truncated)

Commits
  • 591f38c Bump version to v0.6.0 (#11496)
  • 29bdf1d Use a 'minor' version field (revision) in the lockfile (#11500)
  • f001605 Validate dependency groups even when --frozen is present (#11499)
  • 71bda82 Add some additional tests for extras validation in uv sync (#11495)
  • a8b5d97 Fix snapshot for sync_active_script_environment
  • 9138b35 Create main.py instead of hello.py in uv init (#10369)
  • 61fcdfb Allow -p to use complex Python version requests in uv pip compile (#11486)
  • 4b49151 Respect UV_PYTHON in uv python install (#11487)
  • f682c9b regenerate snapshots
  • b17a2ee feat: error on non-existent extra from lock file (#11426)
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [uv](https://github.com/astral-sh/uv) to permit the latest version.
- [Release notes](https://github.com/astral-sh/uv/releases)
- [Changelog](https://github.com/astral-sh/uv/blob/main/CHANGELOG.md)
- [Commits](astral-sh/uv@0.5.0...0.6.0)

---
updated-dependencies:
- dependency-name: uv
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot requested a review from yu-iskw as a code owner February 17, 2025 12:24
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Feb 17, 2025
Copy link

coderabbitai bot commented Feb 17, 2025

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@yu-iskw yu-iskw merged commit dcaa880 into main Feb 18, 2025
2 checks passed
@yu-iskw yu-iskw deleted the dependabot/pip/uv-gte-0.5-and-lt-0.7 branch February 18, 2025 00:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file python Pull requests that update Python code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant