uv/crates/uv-python/src
Zsolt Dollenstein 46bf420eae
Allow upgrading prerelease versions of the same minor Python version (#15959)
Turns out if the minor versions matched we returned false from
`is_upgrade_of` instead of continuing to compare prerelease versions.

Closes #15955.

Note: test cases were initially generated by Claude - I tried making
them shorter.

## Test plan

```
❯ cargo run -- -v python upgrade 3.14
[...]
DEBUG Inspecting existing executable at `/Users/zsol/.local/bin/python3.14`
DEBUG Replacing existing executable for `cpython-3.14.0rc2-macos-aarch64-none` at `/Users/zsol/.local/bin/python3.14` with executable for `cpython-3.14.0rc3-macos-aarch64-none` since it is an upgrade
DEBUG Updated executable at `/Users/zsol/.local/bin/python3.14` to cpython-3.14.0rc3-macos-aarch64-none
Installed Python 3.14.0rc3 in 5.04s
 + cpython-3.14.0rc3-macos-aarch64-none (python3.14)
[...]
❯ uvx python3.14 -V
Python 3.14.0rc3
```
2025-09-22 16:59:48 +00:00
..
sysconfig Sync latest Python releases (#15958) 2025-09-20 02:25:21 +00:00
discovery.rs Allow selection of debug build interpreters (#11520) 2025-09-12 13:32:22 +00:00
downloads.rs Avoid ANSI codes in debug! messages (#15843) 2025-09-17 14:30:43 +00:00
environment.rs Move preview features into a dedicated crate (#15482) 2025-08-24 09:55:30 -04:00
implementation.rs Allow selection of pyodide interpreters with "pyodide" (#15256) 2025-08-13 19:08:55 +00:00
installation.rs Allow selection of debug build interpreters (#11520) 2025-09-12 13:32:22 +00:00
interpreter.rs Allow selection of debug build interpreters (#11520) 2025-09-12 13:32:22 +00:00
lib.rs Use `EnvVars` for Conda variables in tests (#15930) 2025-09-18 07:52:23 -05:00
macos_dylib.rs Install and remove managed Python to and from the Windows Registry (PEP 514) (#10634) 2025-01-23 14:13:41 +00:00
managed.rs Allow upgrading prerelease versions of the same minor Python version (#15959) 2025-09-22 16:59:48 +00:00
microsoft_store.rs Bump MSRV to 1.85 and Edition 2024 (#13516) 2025-05-18 19:38:43 -04:00
pointer_size.rs Change "toolchain" to "python" (#4735) 2024-07-03 07:44:29 -05:00
prefix.rs Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
python_version.rs Allow pinning managed Python versions to specific build versions (#15314) 2025-08-25 16:25:05 -05:00
target.rs Add `uv-` prefix to all internal crates (#7853) 2024-10-01 20:15:32 -04:00
version_files.rs Make the use of `Self` consistent. (#15074) 2025-08-05 20:17:12 +01:00
virtualenv.rs Always treat conda environments named `base` and `root` as base environments (#15682) 2025-09-17 17:32:14 +00:00
windows_registry.rs Use the `windows` crate facade consistently (#15737) 2025-09-09 15:07:14 +00:00