astral-uv:charlie/buf

Last commit made on 2024-02-28
Get this branch:
git clone -b charlie/buf https://git.launchpad.net/astral-uv

Branch merges

Branch information

Name:
charlie/buf
Repository:
lp:astral-uv

Recent commits

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

Fallback to streaming after BufError

9328b3c... by Charlie Marsh <email address hidden>

Add a `--system` flag for opt-in non-virtualenv installs (#2046)

## Summary

This is essentially a wrapper around something like `--python $(which
python3)`, but gives users a portable and streamlined way to solve the
common pain point of using `uv` in GitHub Actions or a Docker container.

See: https://github.com/astral-sh/uv/issues/1526.

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

Support environment variables in index URLs in requirements files (#2036)

## Summary

This also preserves the environment variables in the output file, e.g.:

```
Resolved 1 package in 216ms
# This file was autogenerated by uv via the following command:
# uv pip compile requirements.in --emit-index-url
--index-url https://test.pypi.org/${SUFFIX}

requests==2.5.4.1
```

I'm torn on whether that's correct or undesirable here.

Closes #2035.

1df977f... by Charlie Marsh <email address hidden>

Add a `--pre` alias for `--prerelease=allow` (#2049)

Hidden alias for `pip` compatibility.

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

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

Use a non-local lock file for locking system interpreters (#2045)

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

Remove patch version caveat from CLI (#2044)

1ee28f7... by Charlie Marsh <email address hidden>

Rename `Virtualenv` and `PythonPlatform` structs (#2034)

## Summary

`PythonPlatform` only exists to format paths to directories within
virtual environments based on a root and an OS, so it's now
`VirtualenvLayout`.

`Virtualenv` is now used for non-virtual environment Pythons, so it's
now `PythonEnvironment`.

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

Enable `freeze` and `list` to introspect non-virtualenv Pythons (#2033)

## Summary

Now that we have the ability to introspect the installed packages for
arbitrary Pythons, we can allow `pip freeze` and `pip list` to fall back
to the "default" Python, if no virtualenv is present.

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

23afa09... by Charlie Marsh <email address hidden>

Accept (e.g.) `'python3.8'` as `--python` argument (#2031)

## Summary

This PR aligns the `uv pip install --python` flag with the `uv venv
--python` flag, such that the former now accepts binary names and Python
versions by way of using the same `find_requested_python` method under
the hood.

995fba8... by Charlie Marsh <email address hidden>

Surface the `EXTERNALLY-MANAGED` message to users (#2032)

## Summary

Per the
[spec](https://packaging.python.org/en/latest/specifications/externally-managed-environments/),
this message should be surfaced to users:

![Screenshot 2024-02-27 at 10 42
52 PM](https://github.com/astral-sh/uv/assets/1309177/dac3bd6b-dd05-4146-8faa-f046492e8a26)