astral-uv:verify-commited-trampoline

Last commit made on 2024-02-22
Get this branch:
git clone -b verify-commited-trampoline https://git.launchpad.net/astral-uv

Branch merges

Branch information

Name:
verify-commited-trampoline
Repository:
lp:astral-uv

Recent commits

682cf45... by Micha Reiser <email address hidden>

Try git diff

3c027bc... by Micha Reiser <email address hidden>

Update trampolines

21d8916... by Micha Reiser <email address hidden>

Verify commited trampolines are up to date

12462e5... by Charlie Marsh <email address hidden>

Bump version to v0.1.7 (#1851)

da3a7ec... by Jane Lewis <email address hidden>

Linker copies files as a fallback when ref-linking fails (#1773)

## Summary

Fixes #1444.

In situations where the installer fails to perform a reflink, a regular
file copy is also attempted, as a fallback. This circumvents issues with
linking files across filesystems or volumes.

## Test Plan
N/A

1652844... by Charlie Marsh <email address hidden>

Don't expect pinned packages for editables with non-existent extras (#1847)

Closes https://github.com/astral-sh/uv/issues/1787.

d80eee1... by Zanie Blue <email address hidden>

Add docs for git authentication (#1844)

[Rendered](https://github.com/astral-sh/uv/blob/zb/auth-docs/README.md#git-authentication)

Adds docs for
- #1781
- #1717

7eaed07... by Charlie Marsh <email address hidden>

Move conflicting dependencies into PubGrub (#1796)

## Summary

This revives a PR from long ago
(https://github.com/astral-sh/uv/pull/383 and
https://github.com/zanieb/pubgrub/pull/24) that modifies how we deal
with dependencies that are declared multiple times within a single
package.

To quote from the originating PR:

> Uses an experimental pubgrub branch (#370) that allows us to handle
multiple version ranges for a single dependency to the solver which
results in better error messages because the derivation tree contains
all of the relevant versions. Previously, the version ranges were merged
(by us) in the resolver before handing them to pubgrub since only one
range could be provided per package. Since we don't merge the versions
anymore, we no longer give the solver an empty range for conflicting
requirements; instead the solver comes to that conclusion from the
provided versions. You can see the improved error message for direct
dependencies in [this
snapshot](https://github.com/astral-sh/puffin/pull/383/files#diff-a0437f2c20cde5e2f15199a3bf81a102b92580063268417847ec9c793a115bd0).

The main issue with that PR was around its handling of URL dependencies,
so this PR _also_ refactors how we handle those. Previously, we stored
URL dependencies on `PubGrubPackage`, but they were omitted from the
hash and equality implementations of `PubGrubPackage`. This led to some
really careful codepaths wherein we had to ensure that we always visited
URLs before non-URL packages, so that the URL-inclusive versions were
included in any hashmaps, etc. I considered preserving this approach,
but it would require us to rely on lots of internal details of PubGrub
(since we'd now be relying on PubGrub to merge those packages in the
"right" order).

So, instead, we now _always_ set the URL on a given package, whenever
that package was _given_ a URL upfront. I think this is easier to reason
about: if the user provided a URL for `flask`, then we should just
always add the URL for `flask`. If we see some other URL for `flask`, we
error, like before. If we see some unknown URL for `flask`, we error,
like before.

Closes https://github.com/astral-sh/uv/issues/1522.

Closes https://github.com/astral-sh/uv/issues/1821.

Closes https://github.com/astral-sh/uv/issues/1615.

b3be53b... by samypr100 <email address hidden>

[docs] Update README.md to include extras example (#1806)

## Summary

<!-- What's the purpose of the change? What does it do, and why? -->
There was no example of to hint support for extras in the README.md.

I added one example in the install section that is used in the uv tests.

831ab45... by Charlie Marsh <email address hidden>

Treat ARM wheels as higher-priority than universal (#1843)

## Summary

We need to take care to keep wheel tags in "priority order" (e.g., we
should prefer ARM wheels over universal wheels). However... it looks
like we've had a `.sort()` in here all along, that risks throwing off
the ordering?

Closes https://github.com/astral-sh/uv/issues/1840.

## Test Plan

ensure that `rlax` uses the ARM wheel rather than the universal wheel:

- `cargo run venv`
- `cargo run pip install rlax`
- `import rlax`