astral-uv:konsti/reqwest-retries-context

Last commit made on 2024-06-11
Get this branch:
git clone -b konsti/reqwest-retries-context https://git.launchpad.net/astral-uv

Branch merges

Branch information

Name:
konsti/reqwest-retries-context
Repository:
lp:astral-uv

Recent commits

338740b... by konstin

.

656fc42... by Charlie Marsh <email address hidden>

Add support for local directories with `--index-url` (#4226)

## Summary

Closes #4078.

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

Refactor project interpreter request for `requires-python` specifiers (#4216)

Refactor following #4214 to avoid parsing the specifiers again

68abf85... by samypr100 <email address hidden>

feat: mTLS support (#4171)

## Summary

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

This adds mTLS support to uv via the standard env var `SSL_CLIENT_CERT`.

## Test Plan

Tested locally using a [nginx proxy to
pypi](https://github.com/hauntsaninja/nginx_pypi_cache) using my own
self-signed ca + certs + client certs generated via
[mkcert](https://github.com/FiloSottile/mkcert). Used this proxy with
both uv and pip to make sure we have feature partity in mTLS
functionality.

5f37395... by Zanie Blue <email address hidden>

Allow version specifiers to be used in Python version requests (#4214)

In service of https://github.com/astral-sh/uv/issues/4212 but this is
user-facing e.g. Python discovery will support version specifiers
everywhere now.

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

10e0abc... by Charlie Marsh <email address hidden>

Create temporary environments in dedicated cache bucket (#4223)

## Summary

We may choose to persist these eventually, but for now, it's useful to
have them colocated with the cache, and in their own dedicated bucket
(so, at the very least, we can keep track of the use-cases).

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

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

Fix `pip_compile::missing_venv` test (#4224)

A merge kerfuffle from #4222 and #4218

Now we fail because we genuinely can't find any interpreters since tests
contexts are isolated by default. I'll improve the error message and
maybe add another test case once `main` is fixed.

546e23b... by Zanie Blue <email address hidden>

Update test context to avoid discovery of external Pythons (#4222)

By setting the test search path to an empty path, we avoid accidentally
pulling interpreters from the system during a test case.

Cherry-picked from https://github.com/astral-sh/uv/pull/4214

98d1ea6... by Zanie Blue <email address hidden>

Improve handling of missing interpreters during discovery (#4218)

Cherry-picked from https://github.com/astral-sh/uv/pull/4214

The first commit gets us some context on an IO error during queries:

Previously:

```
failed to canonicalize path `[VENV]/bin/python3`
    Caused by: No such file or directory (os error 2)
```

Now:

```
Failed to query Python interpreter
    Caused by: failed to canonicalize path `[VENV]/bin/python3`
    Caused by: No such file or directory (os error 2)
```

but really we shouldn't attempt to query a missing interpreter during
discovery anyway, so we improve handling of that too.

0c1dcb7... by Charlie Marsh <email address hidden>

Remove usages of verbatim URL in URL resolver (#4221)

## Summary

Should be no behavior changes, but one piece of technical debt I noticed
left over in the URL resolver. We already have structured paths, so we
shouldn't need to compare verbatim URLs.