astral-uv:ag/local-tests

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

Branch merges

Branch information

Name:
ag/local-tests
Repository:
lp:astral-uv

Recent commits

67eaee3... by Andrew Gallant <email address hidden>

tests: update packse tests

This includes the new tests that stress versions with local
segments.

These tests were added to packse here:
https://github.com/zanieb/packse/pull/132

dd0825c... by Andrew Gallant <email address hidden>

scripts/scenarios: skip tests related to 'local' versions

These tests aren't passing yet, but we hope that at least some of them
will one day.

e0ded9b... by Andrew Gallant <email address hidden>

scripts/scenarios: update instructions for latest upstream changes

The packse workflow has been simplified somewhat. Particularly
now that building dumps scenarios into the same directory that
the index serves. So there's no need for a separate publish step.

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)

3116c37... by Charlie Marsh <email address hidden>

Add `uv pip install --python` to README (#2030)

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

Add a `--python` flag to allow installation into arbitrary Python interpreters (#2000)

## Summary

This PR adds a `--python` flag that allows users to provide a specific
Python interpreter into which `uv` should install packages. This would
replace the `VIRTUAL_ENV=` workaround that folks have been using to
install into arbitrary, system environments, while _also_ actually being
correct for installing into non-virtual environments, where the bin and
site-packages paths can differ.

The approach taken here is to use `sysconfig.get_paths()` to get the
correct paths from the interpreter, and then use those for determining
the `bin` and `site-packages` directories, rather than constructing them
based on hard-coded expectations for each platform.

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

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

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

## Test Plan

- Verified that, on my Windows machine, I was able to install `requests`
into a global environment with: `cargo run pip install requests --python
'C:\\Users\\crmarsh\\AppData\\Local\\Programs\\Python\\Python3.12\\python.exe`,
then `python` and `import requests`.
- Verified that, on macOS, I was able to install `requests` into a
global environment installed via Homebrew with: `cargo run pip install
requests --python $(which python3.8)`.

72a5eba... by Charlie Marsh <email address hidden>

Un-cache editable requirements with dynamic metadata (#2029)

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

8214bfe... by konstin

Always remove color codes from output file (#2018)

Always strip color codes when we're writing to a file.

I don't really know how to test this.

Fixes #2017

30e903e... by Andrew Gallant <email address hidden>

pep440: remove redundant `without_local()` (#2019)

In this context, we already know (as the comment says) that `self` does
not have a local segment, so we don't need to strip it.

This change isn't motivated by anything other than making the code and
comment in sync. For example, when I first looked at it, I wondered
whether the extra stripping was somehow necessary. But it isn't.

cd484d5... by Tim de Jager <email address hidden>

fix: make query method of interpreter public (#2016)

## Summary

Made the `query` method public again, as I believe this currently the
only way to query a intepreter with a custom location.

Closes: #2015