astral-uv:konsti/box-dist-main

Last commit made on 2024-05-08
Get this branch:
git clone -b konsti/box-dist-main https://git.launchpad.net/astral-uv

Branch merges

Branch information

Name:
konsti/box-dist-main
Repository:
lp:astral-uv

Recent commits

e82d2be... by konstin

.

4cc28fa... by konstin

Box Dist to reduce its size

5a07923... by Shantanu <email address hidden>

Use Metadata10 to parse PKG-INFO of legacy editable (#3450)

It turns out setuptools often uses Metadata-Version 2.1 in their
PKG-INFO:
https://github.com/hauntsaninja/setuptools/blob/4e766834d72623f3b938f1d4148547ea73af1bf5/setuptools/dist.py#L64
`Metadata23` requires Metadata-Version of at least 2.2.

This means that uv doesn't actually recognise legacy editable
installations from the most common way you'd actually get legacy
editable installations (works great for most legacy editables I make at
work though!)

Anyway, over here we only need the version and don't care about anything
else. Rather than make a `Metadata21`, I just add a version field to
`Metadata10`. The one slightly tricky thing is that only
Metadata-Version 1.2 and greater guarantee that the [version number is
PEP 440 compatible](https://peps.python.org/pep-0345/#version), so I
store the version in `Metadata10` as a `String` and only parse to
`Version` at time of use.

Also did you know that back in 2004, paramiko had a pokemon based
versioning system?

962fde2... by Shantanu <email address hidden>

Apply normcase to line from easy-install.pth (#3451)

Thanks for the suggestion from
https://github.com/astral-sh/uv/pull/3415#discussion_r1591772942

Also it looks like you improved `egg-link` parsing in
https://github.com/astral-sh/uv/pull/3415/commits/e23c91f52e7df1a5230fc3cb7ca6d3d4ca0b24a2
so copying the changes over to the other parse site (happy to move this
to a helper too, if so lmk where to put it)

1ad6aa8... by konstin

Use generic pubgrub incompatibility reason (#3335)

Pubgrub got a new feature where all unavailability is a custom, instead
of the reasonless `UnavailableDependencies` and our custom `String` type
previously (https://github.com/pubgrub-rs/pubgrub/pull/208). This PR
introduces a `UnavailableReason` that tracks either an entire version
being unusable, or a specific version. The error messages now also track
this difference properly.

The pubgrub commit is our main rebased onto the merged
https://github.com/pubgrub-rs/pubgrub/pull/208, i'll push
`konsti/main-rebase-generic-reason` to `main` after checking for rebase
problems.

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

Remove some `allow(unused)` (#3448)

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

Bump version to v0.1.41 (#3446)

49937a3... by Charlie Marsh <email address hidden>

Remove unconstrained version error from requirements (#3443)

## Summary

It's not clear to me that this should exist at all, but it's causing
errors in projects that don't use `tool.uv.sources`, so we should
definitely remove it for now.

c59cb13... by DaniPopes <email address hidden>

Use `into_par_iter` instead of `par_bridge` (#3435)

## Summary

Use the native rayon range iterator instead of bridging the standard
library's.

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

Move PyO3 derive down (#3434)

## Summary

For some reason the current order is breaking the IntelliJ LSP.