Commit Graph

565 Commits

Author SHA1 Message Date
Zanie Blue 0967b5a28b Fix the free-threaded install-only downloads on macOS (#18609)
I'm honestly not sure what the root cause is here but I'm going to merge
to unblock `main` which is otherwise broken.
2026-03-20 20:22:21 +00:00
github-actions[bot] 00e4746cc0 Sync latest Python releases (#18591)
Automated update for Python releases.

Co-authored-by: zanieb <2586601+zanieb@users.noreply.github.com>
2026-03-20 13:13:22 -05:00
Zanie Blue 00d72dac7b Bump version to 0.10.12 (#18578) 2026-03-19 21:18:55 +00:00
Zanie Blue b03b033924 Move is_explicit check to PythonSource (#18569) 2026-03-19 12:28:50 -05:00
Zanie Blue d7da792648 Consolidate PythonPreference enforcement (#18567) 2026-03-19 10:01:03 -05:00
Zanie Blue 5e25583c42 Construct PythonInstallation early instead of passing around source / interpreter separately (#18564) 2026-03-19 08:21:23 -05:00
Zsolt Dollenstein 46c9bac182 download-metadata: Use ndjson instead of GH releases for CPython (#18406) 2026-03-19 11:36:19 +00: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
github-actions[bot] 87950df2cc Add pypy 3.11.15 (#18468)
Automated update for Python releases.

Co-authored-by: zanieb <2586601+zanieb@users.noreply.github.com>
2026-03-18 07:48:18 -05:00
Charlie Marsh 006b56b12d Bump version to 0.10.11 (#18521)
Co-authored-by: Tomasz Kramkowski <tom@astral.sh>
2026-03-16 19:32:39 -04:00
Zanie Blue fe5ca6ca80 Disable SYSTEM_VERSION_COMPAT when querying interpreters on macOS (#18452)
Closes https://github.com/astral-sh/uv/issues/14267
Replaces https://github.com/astral-sh/uv/pull/18436 — adding my review
because I cannot push there
Replaces https://github.com/astral-sh/uv/pull/18416

---------

Co-authored-by: Ed Schofield <ed@pythoncharmers.com>
2026-03-14 12:45:37 -05:00
Charlie Marsh 45ea4dd4ec Fix uv sync --active recreating active environments when UV_PYTHON_INSTALL_DIR is relative (#18398)
## Summary

We need to normalize any relative managed-Python install roots before
checking whether the active environment’s interpreter is uv-managed, so
that `sync --active` reuses the environment.

Closes https://github.com/astral-sh/uv/issues/16631.
2026-03-13 18:47:53 -05:00
Zanie Blue 8c730aaad6 Bump version to 0.10.10 (#18455) 2026-03-13 14:35:08 -05:00
Zanie Blue f190514288 Improve error handling for platform detection in Python downloads (#18453)
I noticed this weird error chain in
https://github.com/astral-sh/uv/issues/8635#issuecomment-4055185865

```
error: Failed to parse request part 
    Caused by: Could not read ELF interpreter from any of the following paths: /bin/sh, /usr/bin/env, /bin/dash, /bin/ls
```

Co-authored-by: Claude <noreply@anthropic.com>
2026-03-13 19:11:05 +00:00
github-actions[bot] 9bcbaac3e9 Add CPython 3.15.0a7 (#18403)
Automated update for Python releases.

Co-authored-by: jjhelmus <1050278+jjhelmus@users.noreply.github.com>
2026-03-12 23:55:37 +00:00
Zanie Blue dd0d76cd83 Fix type errors on main (#18430) 2026-03-12 21:48:06 +00:00
Zsolt Dollenstein ed35fe83ab Fetch Ruff from an Astral mirror (#18286) 2026-03-12 20:54:30 +00:00
Tomasz Kramkowski 5d52a35830 Remove unnecessary error wrapper type (#18411)
## Summary

I was [working on addressing feedback and some issues I spotted in the
centralised environments
PR](https://www.youtube.com/watch?v=5W4NFcamRhM) and I noticed that this
wrapper type was unnecessary to achieve the desired result.

## Test Plan

Existing tests.
2026-03-12 12:05:06 +00:00
Zanie Blue f675560f32 Bump version to 0.10.9 (#18357) 2026-03-06 14:00:59 -06:00
Zanie Blue 363aea27be Drop the sys-info dependency (#18324)
Part of https://github.com/astral-sh/uv/issues/14574 and
https://github.com/termux/termux-packages/issues/27547

Avoids the downstream patch at
https://github.com/termux/termux-packages/blob/master/packages/uv/0001-sys-info-replace-index-with-strchr.diff

`sys-info-rs` has not been updated in years
https://github.com/FillZpp/sys-info-rs — it includes C code and can't be
built on Termux https://github.com/FillZpp/sys-info-rs/issues/116

I considered switching to https://github.com/GuillaumeGomez/sysinfo but
our usage is trivial, so we implement our requirements in `uv-platform`
instead
2026-03-06 16:30:19 +00:00
konsti 401661ee22 Log the duration we took before erroring (#18231)
We previously errored due to not having long enough backoff, and there
were questions about how long the retries are, so let's log this on
failure.
2026-03-06 08:51:10 -06:00
Zanie Blue 8b82d17f44 Support Python 3.13+ on Android (#18301)
Python 3.13+ changed how it reports platform information on Android; see
https://peps.python.org/pep-0738/#architectures

Here we add support for the new platform values, without which uv will
fail due to an unrecognized interpreter.

Closes #18296
Closes #18285
Closes https://github.com/astral-sh/uv/issues/18313

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-03-06 07:42:21 -06:00
konsti 8efb5421bc Skip over broken tool Python on Windows too (#17176)
Fixes #16252
2026-03-05 10:02:49 +01:00
github-actions[bot] 379f056aff Sync latest Python releases (#18282)
Automated update for Python releases.

Co-authored-by: zanieb <2586601+zanieb@users.noreply.github.com>
2026-03-03 20:23:27 -06:00
Zanie Blue c021be36ab Bump version to 0.10.8 (#18277) 2026-03-03 15:08:03 -06:00
github-actions[bot] 36955f7527 Sync latest Python releases (#18268)
Automated update for Python releases.

Co-authored-by: zsol <66740+zsol@users.noreply.github.com>
2026-03-03 17:36:38 +00:00
Zsolt Dollenstein ce4b9a410a Fetch CPython from an Astral mirror by default (#18207) 2026-03-03 07:02:09 -05:00
Zsolt Dollenstein 08ab1a3447 Bump version to 0.10.7 (#18212) 2026-02-27 07:07:47 -05:00
Zanie Blue a91bcf2683 Bump version to 0.10.6 (#18189) 2026-02-24 17:33:36 -06:00
Zanie Blue f5b95ba548 Fix Python version selection for scripts with a requires-python conflicting with .python-version (#18097)
See https://github.com/astral-sh/uv/issues/17717#issuecomment-3886377795

Updates `ScriptPython::from_request` to match the implementation of
`WorkspacePython::from_request` and adds filtering such that if the
`.python-version` conflicts with the `requires-python`, we prefer the
latter.

Co-authored-by: Claude <noreply@anthropic.com>
2026-02-24 05:16:48 -06:00
Zanie Blue e2c05a54e6 Bump version to 0.10.5 (#18172) 2026-02-23 16:16:32 -06:00
Zanie Blue 463a78f707 Remove the unused Error::LinkExecutable.to field (#18065)
Fixes  https://github.com/astral-sh/uv/pull/18008/changes#r2813876103
2026-02-18 09:39:44 -06:00
konsti baa977a114 Fix iOS detection (#17973)
The fix is `[_version, architecture, _platform] =
version_arch.split("-")`, but I also improved the general structure a
bunch.

Fixes
https://github.com/astral-sh/uv/issues/16724#issuecomment-3530941106
2026-02-18 10:32:37 +00:00
Tomasz Kramkowski 079e3fd059 Bump version to 0.10.4 (#18072) 2026-02-17 21:15:57 +00:00
konsti 23234a3c03 Remove duplicate paths in managed Python errors (#18008)
Fixes https://github.com/astral-sh/uv/issues/17988
2026-02-16 17:27:50 +00:00
Tomasz Kramkowski c75a0c625c Bump version to 0.10.3 (#18012) 2026-02-16 10:42:51 +00:00
cui 4ce3853c52 Do not match cpython 3.10 for cpython-3.1 (#17972)
<!--
Thank you for contributing to uv! To help us out with reviewing, please
consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->

## Summary

<!-- What's the purpose of the change? What does it do, and why? -->
bug fix, in find version 3.1 should not match 3.10

## Test Plan

<!-- How was it tested? -->

---------

Co-authored-by: konstin <konstin@mailbox.org>
Co-authored-by: Zanie Blue <contact@zanie.dev>
2026-02-12 17:46:40 +00:00
Zanie Blue 33a8132b87 Fix handling of --allow-existing with minor version links on Windows (#17978)
Closes #17963
2026-02-12 11:30:36 -06:00
Jonathan J. Helmus 6663f8899d Add CPython 3.15.0a6 (#17987)
Update available python versions to include CPython 3.15.0a6
Update scripts used to sync pbs releases to account for recent changes
in the repo and to support running on macOS.
2026-02-12 11:23:41 -06:00
Tomasz Kramkowski a788db7e5d Bump version to 0.10.2 (#17958) 2026-02-10 18:21:21 +00:00
William Woodruff 471137f5b2 Deprecate unexpected ZIP compression methods (#17946) 2026-02-10 12:46:30 -05:00
konsti b1b14d39ae Bump version to 0.10.1 (#17953) 2026-02-10 11:14:16 +00:00
William Woodruff 3876553531 Revert "Warn on unexpected ZIP compression methods" (#17944)
Reverts astral-sh/uv#17885
2026-02-09 13:53:13 -05:00
William Woodruff 5c74d31eb8 Warn on unexpected ZIP compression methods (#17885)
## Summary

This adds warnings to both our steam and sync ZIP handling on ZIP
entries that aren't "well-known." For now, "well-known" means stored
(i.e. no compression), DEFLATE, or zstd.

In practice we have duplicated codepaths for this check: one for the
"sync" (pre-downloaded) path, and one for the streaming path.

See #16911 and #17467 for context.

## Test Plan

Will update snapshots if/when they change. I'll also add a ZIP test for
this.

(Upd: added some "futzed" wheels for the ZIP tests.)

---------

Signed-off-by: William Woodruff <william@astral.sh>
2026-02-09 12:53:15 -05:00
Zanie Blue 0ba432459a Bump version to 0.10.0 (#17882)
Co-authored-by: Brent Westbrook <36778786+ntBre@users.noreply.github.com>
2026-02-05 20:28:44 +00:00
Zanie Blue d2ab2d0208 Stabilize Python upgrades (#17766)
Includes a few things...

- Drops preview warnings for use of `uv python upgrade` and `uv python
install --upgrade`
- Adds `--resolve-links` to `uv python find`, which I needed in test
cases to retain existing snapshots
- Fixes issues in our "Using environment ..." messages on Windows which
were incorrect
- Refactors `from_executable` for the `PythonMinorVersionLink` type
(https://github.com/astral-sh/uv/pull/17842/commits/28b2ed2525327d94fdf5372a29bbbc476d74680f)
to use the type system to prevent incorrect construction (for above)
- Removes special casing where we only upgrade links if they already
exist, which existed so preview wasn't needed on every invocation
- Fixes a bug with `PythonMinorVersionLink::exists` which returned
`true` even if the link pointed to the wrong Python installation leading
to discovery failures
2026-02-05 11:52:18 -06:00
Zanie Blue 4ae86f9b0a Respect global Python version pins in uv tool run and uv tool install (#14112)
Closes #12921

For `uv tool run`, we'll just use the global Python version for all
invocations without an explicit alternative request (i.e., via the
`--python` flag).

For `uv tool install`, it's a bit more complicated:

- If the tool is not installed, we'll use the global Python version
- If the tool is already installed, we won't change the Python version
unless `--reinstall` or `--python` is used
- If the tool was installed with `--python`, we won't use the global
Python version, unless the tool is uninstalled first

The behavior can be demonstrated as follows

```
$ uv python pin --global 3.12
$ uv tool install flask  # uses 3.12
$ uv tool install flask  # no-op
$ uv python pin --global 3.13
$ uv tool install flask  # no-op
$ uv tool install flask --reinstall  # uses 3.13
$ uv tool install flask -p 3.12 # uses 3.12
$ uv tool install flask  # no-op
$ uv tool install flask --reinstall # uses 3.12
```

This is a little more complicated than always reinstalling when the
global Python version pin changes, but I think it's probably more
intuitive when actually using the tool. We briefly touched on this when
adding global version pins at
https://github.com/astral-sh/uv/pull/12115#discussion_r1992222278

Minor note: I need to do a self-review of this implementation, as it's a
little awkward to encode this behavior in the existing logic.
2026-02-05 11:52:18 -06:00
Zanie Blue 3ba3fe355f Install Pyodide executables as pyodide instead of python (#17760)
Same as #17756 for pyodide
2026-02-05 11:52:18 -06:00
Zanie Blue e932c4a099 Install PyPy and GraalPy executables as pypy and graalpy instead of python (#17756)
Copy of https://github.com/astral-sh/uv/pull/14201 for
https://github.com/astral-sh/uv/pull/17661

Co-authored-by: Frazer McLean <frazer@frazermclean.co.uk>
2026-02-05 11:52:18 -06:00
Zanie Blue ea4560831e Bump version to 0.9.30 (#17865) 2026-02-04 21:18:04 +00:00