astral-uv:dir-file-conflicting

Last commit made on 2023-12-27
Get this branch:
git clone -b dir-file-conflicting https://git.launchpad.net/astral-uv

Branch merges

Branch information

Name:
dir-file-conflicting
Repository:
lp:astral-uv

Recent commits

42e6c09... by konstin

Dir-file conflict

```
virtualenv --clear -p 3.10 .venv -q
cargo run --bin puffin -q -- pip-sync scripts/dir_file_conflict/requirements.txt
```

0ebff94... by konstin

Finish install-many with pypi 10k most dependents (#732)

This PR combines three small changes to finish up the install-many
testing.

* Download pypi_10k_most_dependents.txt in script I'd like to have the
setup process of the large scale checks automated.
* Some install-many dev script improvements
* Fix mkl_fft-1.3.6-58-cp310-cp310-manylinux2014_x86_64.whl:
mkl_fft-1.3.6-58-cp310-cp310-manylinux2014_x86_64.whl has multiple
Wheel-Version entries, we have to ignore that like pip

Apart from the mkl-fft fix the only other errors i've seen showing up
are
https://github.com/astral-sh/puffin/issues/520#issuecomment-1869625642.

007f52b... by Charlie Marsh <email address hidden>

Add support for relative URLs in simple metadata responses (#721)

## Summary

This PR adds support for relative URLs in the simple JSON responses. We
already support relative URLs for HTML responses, but the handling has
been consolidated between the two. Similar to index URLs, we now store
the base alongside the metadata, and use the base when resolving the
URL.

Closes #455.

## Test Plan

`cargo test` (to test HTML indexes). Separately, I also ran `cargo run
-p puffin-cli -- pip-compile requirements.in -n
--index-url=http://localhost:3141/packages/pypi/+simple` on the
`zb/relative` branch with `packse` running, and forced both HTML and
JSON by limiting the `accept` header.

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

Review feedback for HTML indexes (#733)

See: https://github.com/astral-sh/puffin/pull/719

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

Change internal representation of `CacheEntry` to avoid allocations (#730)

Removes a TODO.

188ab75... by Charlie Marsh <email address hidden>

Split `File` into internal and external type (#729)

## Summary

This PR makes the `pypi_types::File` a response-only type (i.e., a type
that's only used when deserializing over the wire), and adds a separate
internal `File` type. Right now, the representations are similar, but
already, we can avoid the "lenient" deserialization on our internal
`File` type, and avoid the special-casing of the property names that's
required in the JSON. Over time, we can evolve this representation
entirely separately from the representation we receive from PyPI and
other indexes.

6ff2137... by Charlie Marsh <email address hidden>

Split `puffin-cache` into Puffin-specific and generic utilities (#728)

This crate started off as generic caching utilities, but we started
adding a lot of Puffin-specific stuff (like the cache buckets
abstraction that knows about Git vs. direct URL vs. indexes and so on).
This PR moves the generic stuff into a new `cache-key` crate.

4acf02f... by Charlie Marsh <email address hidden>

Remove `pypi-metadata` worker (#727)

We've stopped using this for now.

187ccef... by Charlie Marsh <email address hidden>

Cache `Tags` on `Interpreter` (#726)

5b2e381... by Charlie Marsh <email address hidden>

Remove `platform-tags` dependency on `puffin-interpreter` (#725)

Cuts off a large internal dependency chain from what is otherwise a very
general crate.