19 Commits
Author SHA1 Message Date
Charlie Marsh b44bd4561d Use a small native extension in system Python tests (#21713)
We currently install NumPy to exercise native extensions in our system
Python tests, which requires an expensive source build on Pyston.
Replace it with a small checked-in C extension on CPython, PyPy, and
Pyston. We build and install the fixture, import it, and call its native
function. Build dependencies are pinned for the supported Python
versions, and the Rocky Linux and Amazon Linux jobs install the required
Python headers.

The Pyston validation step fell from [207 seconds on
main](https://github.com/astral-sh/uv/actions/runs/34968381082/job/104380124716)
to [7 seconds on the
PR](https://github.com/astral-sh/uv/actions/runs/34985252562/job/104438017363),
using the same pinned Pyston 2.3.5 image. Other interpreters were not
benchmarked.
2026-09-15 12:01:12 -04:00
Aria DesiresandBrent Westbrook a5495623f1 Enable Ruff default lint rules across the repository (and fix all the errors) (#20650)
The contents of this PR were primarily automatically generated by
asking codex to fix everything, with only a couple tweaks based on human review.

The 148 issues reported:
https://github.com/astral-sh/uv/actions/runs/30038173251/job/89311407632?pr=20649

---------

Co-authored-by: Brent Westbrook <36778786+ntBre@users.noreply.github.com>
2026-07-23 21:02:59 +00:00
Zanie Blue 8093dfcaa9 Add a system test for the chainguard Python image (#18460)
Should require https://github.com/astral-sh/uv/pull/18457
2026-03-20 13:13:43 -05:00
Zanie Blue cb093394b3 Drop requirement on which in Python system tests (#18588) 2026-03-20 11:26:07 -05:00
Zanie Blue 42c85f654f Add support for using Python 3.6 interpreters (#18454)
Applies a patch to use Python 3.6 compatible types in our vendored
`packaging` implementation used in the interpreter query script. Adds
Python 3.6 and 3.7 test coverage in CI.
2026-03-18 18:33:30 -05:00
Tomasz Kramkowski 6dd2c0ca4b Fix scripts/check_system_python.py (#17629)
## Summary

Fix a bug in #17533 which was auto-merged despite failures.

## Test Plan

N/A (CI PR).
2026-01-20 16:23:58 +00:00
Tomasz Kramkowski cfd048aa7a Change chocolatey system test to ensure uv uses the right python (#17533)
Fix #17524.

This adds a couple of new options to `scripts/check_system_python.py` to verify that it is running with the right interpreter version and that it would hopefully be the interpreter picked up by uv (although that isn't strictly necessary as other tests should fail in that case).

Additionally, since the path to the newly installed chocolatey python is not loaded from registry on every step, we now manually load it.

Beware, this will break `GITHUB_PATH` but this job wasn't using it at the moment.
2026-01-20 16:02:14 +00:00
Zanie Blue 1f49fbd53c Display sys.executable names in check system jobs (#14656)
Cherry-picked from https://github.com/astral-sh/uv/pull/14652

This is useful for debugging
2025-07-16 09:17:01 -05:00
Tim Felgentreff 878c2acdf3 Add downloading of GraalPy (#13172)
## Summary

This adds GraalPy download metadata so that `uv python install graalpy`
works. See https://github.com/astral-sh/uv/issues/13114

## Test Plan

The existing integration test was changed to test this functionality.
2025-05-06 11:02:27 -05:00
Zanie Blue ebd73d83f8 Allow explicitly requesting an system interpreter version in check_system_python (#7306)
Needed for #7300
2024-09-11 19:41:42 +00:00
Zanie Blue b05217e624 Show verbose output during system install in test (#7304)
We do this for the other installs and it is helpful for debugging

This is missing in
https://github.com/astral-sh/uv/actions/runs/10817725906/job/30011855241?pr=7300
2024-09-11 14:31:51 -05:00
Charlie Marsh ab9cc78b7a Deduplicate symbolic links between purelib and platlib (#3002)
## Summary

This PR adds system install tests to verify the behavior described in
#2798. It turns out this behavior _also_ affects Fedora and Amazon
Linux, we just didn't have the right conditions enabled (specifically,
you need to create the virtualenv with `python -m venv` to get these
symlinks), so the test suite was expanded to capture that.

The issue itself is also fixed by way of deduplicating the
`site-packages` entries.

Closes: https://github.com/astral-sh/uv/issues/2798
2024-04-12 17:08:56 -04:00
Charlie Marsh 9654da418e Don't install pydantic_core on Python 3.13 (#2595)
See:
https://github.com/astral-sh/uv/actions/runs/8379602011/job/22947128453?pr=1217

![Screenshot 2024-03-21 at 2 06
40 PM](https://github.com/astral-sh/uv/assets/1309177/227d9e76-7b5d-4730-8f13-cc8bb4a7ac33)
2024-03-21 14:15:43 -04:00
Charlie Marsh 142b2de191 Add a purelib-only package to the system install tests (#2535) 2024-03-18 23:03:39 -04:00
konsti 15f1d65751 Add numpy to system import tests (#2380)
Installing and importing numpy tests for two cases:

* The python architecture and the package architecture don't match
(https://github.com/astral-sh/uv/issues/2326)
* The libc of python and that of the package don't match on linux
(musllinux vs manylinux, picking a compatible manylinux version)

All pylint deps are py3-none-any, so they don't catch those cases.
2024-03-18 09:09:32 -04:00
Zanie Blue 659f412964 Add system install test for alpine (#2371) 2024-03-12 14:26:05 +00:00
Charlie Marsh b3ac0e30ec Add Conda tests to system-install.yml (#2281)
Closes https://github.com/astral-sh/uv/issues/2280.
2024-03-07 11:44:19 -05:00
Charlie Marsh 60a78812f9 Extend system-install.yml to include virtualenv operations (#2190)
Just basic stuff like: we can create a virtualenv, we can install into
it (and not affect the system Python).
2024-03-05 01:46:00 +00:00
Charlie Marsh 9328b3c2ab 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.
2024-02-28 19:48:32 +00:00