astral-uv:konsti/add-filename-to-like-error

Last commit made on 2024-04-02
Get this branch:
git clone -b konsti/add-filename-to-like-error https://git.launchpad.net/astral-uv

Branch merges

Branch information

Name:
konsti/add-filename-to-like-error
Repository:
lp:astral-uv

Recent commits

0f9fbd6... by konstin

Attach context to lock errors

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

Use `user_display` for source tree error (#2768)

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

Use distribution database and index for all pre-resolution phases (#2766)

## Summary

Ensures that if we resolve any distributions before the resolver, we
cache the metadata in-memory.

_Also_ ensures that we lock (important!) when resolving Git
distributions.

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

Split `get_or_build_wheel_metadata` into distinct methods (#2765)

## Summary

Internal refactor which makes `DistributionDatabase` for unnamed
requirements (or, at least, source distributions).

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

Populate the in-memory index when resolving lookahead URLs (#2761)

## Summary

Just ensures that we don't have to go back to the cache when resolving.

999d653... by Charlie Marsh <email address hidden>

Use canonical URL to key redirect map (#2764)

## Summary

This fixes a potential bug that revealed itself in
https://github.com/astral-sh/uv/pull/2761. We don't run into this now
because we always use "allowed URLs", stores the "last" compatible URL
in the map. But the use of the "raw" URL (rather than the "canonical"
URL) means that other writers have to follow that same assumption and
iterate over dependencies in-order.

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

Rename `resolver.rs` to `unnamed.rs` in `uv-requirements` (#2762)

## Summary

We have a few different "resolvers" in here now so the name is
confusing.

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

Recursively resolve direct URL references upfront (#2684)

## Summary

This PR would enable us to support transitive URL requirements. The key
idea is to leverage the fact that...

- URL requirements can only come from URL requirements.
- URL requirements identify a _specific_ version, and so don't require
backtracking.

Prior to running the "real" resolver, we recursively resolve any URL
requirements, and collect all the known URLs upfront, then pass those to
the resolver as "lookahead" requirements. This means the resolver knows
upfront that if a given package is included, it _must_ use the provided
URL.

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

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

Bump version to v0.1.27 (#2758)

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

Add Homebrew system check test (#2736)

Following #2735 adds a system check that uses Homebrew. I think we were
never were actually using Homebrew's Python in the past, we were mislead
or something changed in the runners recently that broke it.