uv/crates/uv-python
trag1c 37273cb4bc
Add prerelease compatibility check (#8020)
## Summary

Closes #7977. Makes `PythonDownloadRequest` account for the prerelease
part if allowed. Also stores the prerelease in `PythonInstallationKey`
directly as a `Prerelease` rather than a string.

## Test Plan

Correctly picks the relevant prerelease (rather than picking the most
recent one):
```
λ cargo run python install 3.13.0rc2
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.17s
     Running `target/debug/uv python install 3.13.0rc2`
Searching for Python versions matching: Python 3.13rc2
cpython-3.13.0rc2-macos-aarch64-none ------------------------------ 457.81 KiB/14.73 MiB                                                                                                                    ^C

λ cargo run python install 3.13.0rc3                 
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.17s
     Running `target/debug/uv python install 3.13.0rc3`
Searching for Python versions matching: Python 3.13rc3
Found existing installation for Python 3.13rc3: cpython-3.13.0rc3-macos-aarch64-none
```
2024-10-08 16:20:58 -05:00
..
python Block Python <3.7 not only on linux (#7266) 2024-09-10 15:15:41 -05:00
src Add prerelease compatibility check (#8020) 2024-10-08 16:20:58 -05:00
Cargo.toml uv run: List available scripts when a script is not specified (#7687) 2024-10-08 19:34:50 +00:00
download-metadata.json Add managed downloads for CPython 3.13.0 final (#8010) 2024-10-08 12:53:09 -05:00
fetch-download-metadata.py Organize downloads by prioritizing the platform, then the architecture. (#7900) 2024-10-03 10:51:21 -05:00
template-download-metadata.py Add prerelease compatibility check (#8020) 2024-10-08 16:20:58 -05:00