Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: astral-sh/uv
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0.6.8
Choose a base ref
...
head repository: astral-sh/uv
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 0.6.9
Choose a head ref
  • 11 commits
  • 53 files changed
  • 5 contributors

Commits on Mar 18, 2025

  1. Fix --directory path in examples (#12165)

    <!--
    Thank you for contributing to uv! To help us out with reviewing, please
    consider the following:
    
    - Does this pull request include a summary of the change? (See below.)
    - Does this pull request include a descriptive title?
    - Does this pull request include references to any relevant issues?
    -->
    
    ## Summary
    
    <!-- What's the purpose of the change? What does it do, and why? -->
    The examples assume that the packages are in the project root directory.
    However, they are nested inside `src`, and the commands in the examples
    do not work as intended.
    
    I could not find any related issues.
    
    ## Test Plan
    
    <!-- How was it tested? -->
    
    I tested it by executing the commands on my terminal - Linux and Windows
    (PowerShell).
    
    ---------
    
    Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
    jatinderjit and charliermarsh authored Mar 18, 2025

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    holiman Martin HS
    Copy the full SHA
    a95f4cf View commit details

Commits on Mar 19, 2025

  1. Use resolver-returned wheel over alternate cached wheel (#12301)

    ## Summary
    
    I think this is reasonable to change. Right now, if you're on Python
    3.11, the resolver returns `multiprocess-0.70.17-py311-none-any.whl`,
    but `multiprocess-0.70.17-py310-none-any.whl` is in the cache, we'll
    reuse `multiprocess-0.70.17-py310-none-any.whl` (since it _is_
    compatible with Python 3.11).
    
    Instead, we now _require_ the cached wheel to match the wheel returned
    by the resolver.
    
    Closes #12273.
    charliermarsh authored Mar 19, 2025

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    holiman Martin HS
    Copy the full SHA
    e40c551 View commit details
  2. Automatically infer the PyTorch index via --torch-backend=auto (#12070

    )
    
    ## Summary
    
    This is a prototype that I'm considering shipping under `--preview`,
    based on [`light-the-torch`](https://github.com/pmeier/light-the-torch).
    
    `light-the-torch` patches pip to pull PyTorch packages from the PyTorch
    indexes automatically. And, in particular, `light-the-torch` will query
    the installed CUDA drivers to determine which indexes are compatible
    with your system.
    
    This PR implements equivalent behavior under `--torch-backend auto`,
    though you can also set `--torch-backend cpu`, etc. for convenience.
    When enabled, the registry client will fetch from the appropriate
    PyTorch index when it sees a package from the PyTorch ecosystem (and
    ignore any other configured indexes, _unless_ the package is explicitly
    pinned to a different index).
    
    Right now, this is only implemented in the `uv pip` CLI, since it
    doesn't quite fit into the lockfile APIs given that it relies on feature
    detection on the currently-running machine.
    
    ## Test Plan
    
    On macOS, you can test this with (e.g.):
    
    ```shell
    UV_TORCH_BACKEND=auto UV_CUDA_DRIVER_VERSION=450.80.2 cargo run \
      pip install torch --python-platform linux --python-version 3.12
    ```
    
    On a GPU-enabled EC2 machine:
    
    ```shell
    ubuntu@ip-172-31-47-149:~/uv$ UV_TORCH_BACKEND=auto cargo run pip install torch -v
        Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.31s
         Running `target/debug/uv pip install torch -v`
    DEBUG uv 0.6.6 (e95ca06 2025-03-14)
    DEBUG Searching for default Python interpreter in virtual environments
    DEBUG Found `cpython-3.13.0-linux-x86_64-gnu` at `/home/ubuntu/uv/.venv/bin/python3` (virtual environment)
    DEBUG Using Python 3.13.0 environment at: .venv
    DEBUG Acquired lock for `.venv`
    DEBUG At least one requirement is not satisfied: torch
    warning: The `--torch-backend` setting is experimental and may change without warning. Pass `--preview` to disable this warning.
    DEBUG Detected CUDA driver version from `/sys/module/nvidia/version`: 550.144.3
    ...
    ```
    charliermarsh authored Mar 19, 2025
    Copy the full SHA
    5173b59 View commit details
  3. Fix #keyring-provider references in alternative index docs (#12315)

    ## Summary
    
    I think editors auto-complete to this because of the way the Markdown is
    structured, but it's not quite right.
    charliermarsh authored Mar 19, 2025
    Copy the full SHA
    f7d9b0e View commit details
  4. Fail with specific error message when no password on auth always (#12313

    )
    
    This addresses a small part of #12280, namely when you have
    `authenticate` set to `always`, it will output a distinct error message
    for the case where you have a username but are missing a password.
    jtfmumm authored Mar 19, 2025
    Copy the full SHA
    615cd6e View commit details
  5. Add experimental --torch-backend to the PyTorch guide (#12317)

    charliermarsh authored Mar 19, 2025
    Copy the full SHA
    bf12cdb View commit details
  6. Make deserialization non-fatal when assessing source tree revisions (#…

    …12319)
    
    ## Summary
    
    Closes #12318.
    charliermarsh authored Mar 19, 2025
    Copy the full SHA
    011a6de View commit details
  7. Use keyring --mode creds when authenticate = "always" (#12316)

    Previously, we required a username to perform a fetch from the keyring
    because the `keyring` CLI only supported fetching password for a given
    service and username. Unfortunately, this is different from the keyring
    Python API which supported fetching a username _and_ password for a
    given service. We can't (easily) use the Python API because we don't
    expect `keyring` to be installed in a specific environment during
    network requests. This means that we did not have parity with `pip`.
    
    Way back in jaraco/keyring#678 we got a `--mode
    creds` flag added to `keyring`'s CLI which supports parity with the
    Python API. Since `keyring` is expensive to invoke and we cannot be
    certain that users are on the latest version of keyring, we've not added
    support for invoking keyring with this flag. However, now that we have a
    mode that says authentication is _required_ for an index (#11896), we
    might as well _try_ to invoke keyring with `--mode creds` when there is
    no username. This will address use-cases where the username is
    non-constant and move us closer to `pip` parity.
    zanieb authored Mar 19, 2025
    Copy the full SHA
    37c25f2 View commit details

Commits on Mar 20, 2025

  1. Fix cache_prune::prune_unzipped test to match updated error message f…

    …ormat (#12330)
    
    ## Summary
    
    Fixes the failing `cache_prune::prune_unzipped` test that was causing CI
    failures in my other PR (#12328) and others like PR #12327.
    
    The error message format changed to show a specific version constraint
    (`iniconfig<=2.0.0`) rather than the generic 'all versions' message.
    This PR updates the test to expect the new, more specific error message.
    
    ## Test Plan
    Ran `cargo test -p uv cache_prune::prune_unzipped` to verify the test
    now passes.
    chhoumann authored Mar 20, 2025
    Copy the full SHA
    584dd36 View commit details
  2. Add boolish value parser for *MANAGED_PYTHON flags (#12345)

    There was a bug where `UV_MANAGED_PYTHON` and `UV_NO_MANAGED_PYTHON`
    only accepted `true` or `false`. This switches to the boolish value
    parser for those flags.
    
    Closes #12336
    jtfmumm authored Mar 20, 2025
    Copy the full SHA
    4b8a2de View commit details
  3. Bump version to 0.6.9 (#12347)

    zanieb authored Mar 20, 2025
    Copy the full SHA
    3d94602 View commit details
Loading