425bcb9...
by
Charlie Marsh <email address hidden>
Use rustls-tls with manual SSL_CERT_FILE implementation
b9b4109...
by
Charlie Marsh <email address hidden>
Initialize client lazily for remote requirements files (#2350)
## Summary
We now initialize an HTTP client in advance for remote requirements
files. It turns out this adds a significant overhead, even for
operations like auditing the environment (at least on macOS).
This PR makes initialization lazy. After a lot of evaluation, I took the
easiest route, which is: we just pass in `Connectivity`, and then use
the default HTTP client. So we won't respect netrc files and anything
else that we get from our registry client. If we want to keep using the
registry client, we _can_, it's just way more ceremony to pass down a
closure.
9566ac9...
by
Charlie Marsh <email address hidden>
Write relative paths for scripts in data directory (#2348)
## Summary
In #2000, I shipped a regression whereby we stopped writing relative
paths for scripts within `data` directories. The net effect here is that
we aren't _uninstalling_ binaries in all cases. (This does _not_ apply
to entrypoints, only scripts in `data` directories.)
Most Python packages ship entrypoints, not binaries, so I don't know how
to test this cheaply. But I did test it locally by verifying that `uv`
is now removed from the `bin` directory after an uninstall.
ec83151...
by
Charlie Marsh <email address hidden>
Remove unnnecesary Windows stack size changes (#2345)
This is already set by `command`.
bb2d06c...
by
Charlie Marsh <email address hidden>
install_extra_index_url_has_priority without exclude newer (#2340)
Manual synthesis of #2337 and #2339, i think one accidentally reverted
the other?
No rush in merging, CI is green.
a267a50...
by
Charlie Marsh <email address hidden>
Add `Seek` fallback for zip files (#2320)
## Summary
Some zip files can't be streamed; in particular, `rs-async-zip` doesn't
support data descriptors right now (though it may in the future). This
PR adds a fallback path for such zips that downloads the entire zip file
to disk, then unzips it from disk (which gives us `Seek`).
`cargo run pip install --extra-index-url https://buf.build/gen/python
hashb_foxglove_protocolbuffers_python==25.3.0.1.20240226043130+465630478360
--force-reinstall -n`
67fb023...
by
Charlie Marsh <email address hidden>
Avoid duplicating authorization header with netrc (#2325)
## Summary
The netrc middleware we added in https://github.com/astral-sh/uv/pull/2241 has a slight problem. If you
include credentials in your index URL, _and_ in the netrc file, the
crate blindly adds the netrc credentials as a header. And given the
`ReqwestBuilder` API, this means you end up with _two_ `Authorization`
headers, which always leads to an invalid request, though the exact
failure can take different forms.
This PR removes the middleware crate in favor of our own middleware.
Instead of using the `RequestInitialiser` API, we have to use the
`Middleware` API, so that we can remove the header on the request
itself.
- Verified that running against a private index with credentials in the
URL (but no netrc file) worked without error.
- Verified that running against a private index with credentials in the
netrc file (but not the URL) worked without error.
- Verified that running against a private index with a mix of
credentials in both _also_ worked without error.
7fc8087...
by
Charlie Marsh <email address hidden>