Add CPython 3.14.3 and 3.13.12 (#17849)

Automated update for Python releases.

---------

Co-authored-by: jjhelmus <1050278+jjhelmus@users.noreply.github.com>
Co-authored-by: Zanie Blue <contact@zanie.dev>
This commit is contained in:
github-actions[bot]
2026-02-04 11:05:57 -06:00
committed by GitHub
parent 031f917f65
commit 5d978e8bda
8 changed files with 3169 additions and 641 deletions
@@ -11,7 +11,7 @@ use crate::ROOT_DIR;
use crate::generate_all::Mode;
/// Contains current supported targets
const TARGETS_YML_URL: &str = "https://raw.githubusercontent.com/astral-sh/python-build-standalone/refs/tags/20260127/cpython-unix/targets.yml";
const TARGETS_YML_URL: &str = "https://raw.githubusercontent.com/astral-sh/python-build-standalone/refs/tags/20260203/cpython-unix/targets.yml";
#[derive(clap::Args)]
pub(crate) struct Args {
@@ -130,7 +130,7 @@ async fn generate() -> Result<String> {
output.push_str("//! DO NOT EDIT\n");
output.push_str("//!\n");
output.push_str("//! Generated with `cargo run dev generate-sysconfig-metadata`\n");
output.push_str("//! Targets from <https://github.com/astral-sh/python-build-standalone/blob/20260127/cpython-unix/targets.yml>\n");
output.push_str("//! Targets from <https://github.com/astral-sh/python-build-standalone/blob/20260203/cpython-unix/targets.yml>\n");
output.push_str("//!\n");
// Disable clippy/fmt
File diff suppressed because it is too large Load Diff
@@ -1,7 +1,7 @@
//! DO NOT EDIT
//!
//! Generated with `cargo run dev generate-sysconfig-metadata`
//! Targets from <https://github.com/astral-sh/python-build-standalone/blob/20260127/cpython-unix/targets.yml>
//! Targets from <https://github.com/astral-sh/python-build-standalone/blob/20260203/cpython-unix/targets.yml>
//!
#![allow(clippy::all)]
#![cfg_attr(any(), rustfmt::skip)]
+4 -2
View File
@@ -41,8 +41,8 @@ pub const DEFAULT_PYTHON_VERSION: &str = "3.12";
// The expected latest patch version for each Python minor version.
pub const LATEST_PYTHON_3_15: &str = "3.15.0a5";
pub const LATEST_PYTHON_3_14: &str = "3.14.2";
pub const LATEST_PYTHON_3_13: &str = "3.13.11";
pub const LATEST_PYTHON_3_14: &str = "3.14.3";
pub const LATEST_PYTHON_3_13: &str = "3.13.12";
pub const LATEST_PYTHON_3_12: &str = "3.12.12";
pub const LATEST_PYTHON_3_11: &str = "3.11.14";
pub const LATEST_PYTHON_3_10: &str = "3.10.19";
@@ -457,6 +457,8 @@ impl TestContext {
(?:
\[X\] # A previously filtered patch version [X]
| # OR
\[LATEST\] # A previously filtered latest patch version [LATEST]
| # OR
\d+ # An actual patch version
)
)? # (we allow the patch version to be missing entirely, e.g., in a request)
+2 -6
View File
@@ -18189,11 +18189,7 @@ fn compile_missing_python_version_default_fallback() -> Result<()> {
let context = TestContext::new_with_versions(&[])
.with_python_download_cache()
.with_managed_python_dirs()
// Filter the version which will get downloaded
.with_filter((
r" \d\+\.\d\+(\.\d+)? will be used",
" [DEFAULT] will be used".to_string(),
));
.with_filtered_latest_python_versions();
let requirements_in = context.temp_dir.child("requirements.in");
requirements_in.write_str("anyio==3.7.0")?;
@@ -18216,7 +18212,7 @@ fn compile_missing_python_version_default_fallback() -> Result<()> {
# via anyio
----- stderr -----
warning: The requested Python version 3.99.99 is not available; 3.14.2 will be used to build dependencies instead.
warning: The requested Python version 3.99.99 is not available; 3.14.[LATEST] will be used to build dependencies instead.
Resolved 3 packages in [TIME]
");
+3 -2
View File
@@ -13751,7 +13751,8 @@ fn install_missing_python_with_target() {
// Create a context with no installed python interpreters.
let context = TestContext::new_with_versions(&[])
.with_python_download_cache()
.with_managed_python_dirs();
.with_managed_python_dirs()
.with_filtered_latest_python_versions();
let target_dir = context.temp_dir.child("target-dir");
@@ -13763,7 +13764,7 @@ fn install_missing_python_with_target() {
----- stdout -----
----- stderr -----
Using CPython 3.14.2
Using CPython 3.14.[LATEST]
Resolved 3 packages in [TIME]
Prepared 3 packages in [TIME]
Installed 3 packages in [TIME]
+81 -69
View File
@@ -2240,7 +2240,8 @@ fn python_install_broken_link() {
.with_filtered_python_keys()
.with_filtered_exe_suffix()
.with_managed_python_dirs()
.with_python_download_cache();
.with_python_download_cache()
.with_filtered_latest_python_versions();
let bin_python = context.bin_dir.child("python3.13");
@@ -2255,8 +2256,8 @@ fn python_install_broken_link() {
----- stdout -----
----- stderr -----
Installed Python 3.13.11 in [TIME]
+ cpython-3.13.11-[PLATFORM] (python3.13)
Installed Python 3.13.[LATEST] in [TIME]
+ cpython-3.13.[LATEST]-[PLATFORM] (python3.13)
");
// We should replace the broken symlink
@@ -2264,7 +2265,7 @@ fn python_install_broken_link() {
filters => context.filters(),
}, {
insta::assert_snapshot!(
canonicalize_link_path(&bin_python), @"[TEMP_DIR]/managed/cpython-3.13.11-[PLATFORM]/bin/python3.13"
canonicalize_link_path(&bin_python), @"[TEMP_DIR]/managed/cpython-3.13.[LATEST]-[PLATFORM]/bin/python3.13"
);
});
}
@@ -2558,7 +2559,8 @@ fn python_install_cached() {
let context: TestContext = TestContext::new_with_versions(&[])
.with_filtered_python_keys()
.with_filtered_exe_suffix()
.with_managed_python_dirs();
.with_managed_python_dirs()
.with_filtered_latest_python_versions();
let python_cache = context.temp_dir.child("python-cache");
@@ -2571,8 +2573,8 @@ fn python_install_cached() {
----- stdout -----
----- stderr -----
Installed Python 3.14.2 in [TIME]
+ cpython-3.14.2-[PLATFORM] (python3.14)
Installed Python 3.14.[LATEST] in [TIME]
+ cpython-3.14.[LATEST]-[PLATFORM] (python3.14)
");
let bin_python = context
@@ -2601,8 +2603,8 @@ fn python_install_cached() {
----- stderr -----
Searching for Python versions matching: Python 3.14
Uninstalled Python 3.14.2 in [TIME]
- cpython-3.14.2-[PLATFORM] (python3.14)
Uninstalled Python 3.14.[LATEST] in [TIME]
- cpython-3.14.[LATEST]-[PLATFORM] (python3.14)
");
// The cached archive can be installed offline
@@ -2615,8 +2617,8 @@ fn python_install_cached() {
----- stdout -----
----- stderr -----
Installed Python 3.14.2 in [TIME]
+ cpython-3.14.2-[PLATFORM] (python3.14)
Installed Python 3.14.[LATEST] in [TIME]
+ cpython-3.14.[LATEST]-[PLATFORM] (python3.14)
");
// 3.12 isn't cached, so it can't be installed
@@ -2635,7 +2637,7 @@ fn python_install_cached() {
----- stdout -----
----- stderr -----
error: Failed to install cpython-3.12.12-[PLATFORM]
error: Failed to install cpython-3.12.[LATEST]-[PLATFORM]
Caused by: An offline Python installation was requested, but cpython-3.12.[PATCH]-[DATE]-[PLATFORM].tar.gz) is missing in python-cache
");
}
@@ -2652,7 +2654,8 @@ fn python_install_no_cache() {
let context: TestContext = TestContext::new_with_versions(&[])
.with_filtered_python_keys()
.with_filtered_exe_suffix()
.with_managed_python_dirs();
.with_managed_python_dirs()
.with_filtered_latest_python_versions();
// Install the latest version
uv_snapshot!(context.filters(), context.python_install(), @"
@@ -2661,8 +2664,8 @@ fn python_install_no_cache() {
----- stdout -----
----- stderr -----
Installed Python 3.14.2 in [TIME]
+ cpython-3.14.2-[PLATFORM] (python3.14)
Installed Python 3.14.[LATEST] in [TIME]
+ cpython-3.14.[LATEST]-[PLATFORM] (python3.14)
");
let bin_python = context
@@ -2699,8 +2702,8 @@ fn python_install_no_cache() {
----- stdout -----
----- stderr -----
Installed Python 3.14.2 in [TIME]
~ cpython-3.14.2-[PLATFORM] (python3.14)
Installed Python 3.14.[LATEST] in [TIME]
~ cpython-3.14.[LATEST]-[PLATFORM] (python3.14)
");
// Uninstallation requires an argument
@@ -2725,8 +2728,8 @@ fn python_install_no_cache() {
----- stderr -----
Searching for Python versions matching: Python 3.14
Uninstalled Python 3.14.2 in [TIME]
- cpython-3.14.2-[PLATFORM] (python3.14)
Uninstalled Python 3.14.[LATEST] in [TIME]
- cpython-3.14.[LATEST]-[PLATFORM] (python3.14)
");
// 3.12 isn't cached, so it can't be installed
@@ -2745,7 +2748,7 @@ fn python_install_no_cache() {
----- stdout -----
----- stderr -----
error: Failed to install cpython-3.12.12-[PLATFORM]
error: Failed to install cpython-3.12.[LATEST]-[PLATFORM]
Caused by: Failed to download https://github.com/astral-sh/python-build-standalone/releases/download/[DATE]/cpython-3.12.[PATCH]-[DATE]-[PLATFORM].tar.gz
Caused by: Network connectivity is disabled, but the requested data wasn't found in the cache for: `https://github.com/astral-sh/python-build-standalone/releases/download/[DATE]/cpython-3.12.[PATCH]-[DATE]-[PLATFORM].tar.gz`
");
@@ -2757,7 +2760,8 @@ fn python_install_emulated_macos() {
let context: TestContext = TestContext::new_with_versions(&[])
.with_filtered_exe_suffix()
.with_managed_python_dirs()
.with_python_download_cache();
.with_python_download_cache()
.with_filtered_latest_python_versions();
let arch_status = Command::new("/usr/bin/arch")
.arg("-x86_64")
@@ -2779,7 +2783,7 @@ fn python_install_emulated_macos() {
success: true
exit_code: 0
----- stdout -----
cpython-3.13.11-macos-aarch64-none <download available>
cpython-3.13.[LATEST]-macos-aarch64-none <download available>
----- stderr -----
");
@@ -2791,8 +2795,8 @@ fn python_install_emulated_macos() {
----- stdout -----
----- stderr -----
Installed Python 3.13.11 in [TIME]
+ cpython-3.13.11-macos-x86_64-none (python3.13)
Installed Python 3.13.[LATEST] in [TIME]
+ cpython-3.13.[LATEST]-macos-x86_64-none (python3.13)
");
// It should be discoverable with `uv python find`
@@ -2800,7 +2804,7 @@ fn python_install_emulated_macos() {
success: true
exit_code: 0
----- stdout -----
[TEMP_DIR]/managed/cpython-3.13.11-macos-x86_64-none/bin/python3.13
[TEMP_DIR]/managed/cpython-3.13.[LATEST]-macos-x86_64-none/bin/python3.13
----- stderr -----
");
@@ -2810,8 +2814,8 @@ fn python_install_emulated_macos() {
success: true
exit_code: 0
----- stdout -----
cpython-3.13.11-macos-aarch64-none <download available>
cpython-3.13.11-macos-x86_64-none managed/cpython-3.13.11-macos-x86_64-none/bin/python3.13
cpython-3.13.[LATEST]-macos-aarch64-none <download available>
cpython-3.13.[LATEST]-macos-x86_64-none managed/cpython-3.13.[LATEST]-macos-x86_64-none/bin/python3.13
----- stderr -----
");
@@ -2822,8 +2826,8 @@ fn python_install_emulated_macos() {
----- stdout -----
----- stderr -----
Installed Python 3.13.11 in [TIME]
+ cpython-3.13.11-macos-aarch64-none
Installed Python 3.13.[LATEST] in [TIME]
+ cpython-3.13.[LATEST]-macos-aarch64-none
");
// Once we've installed the native version, it should be preferred over x86_64
@@ -2831,7 +2835,7 @@ fn python_install_emulated_macos() {
success: true
exit_code: 0
----- stdout -----
[TEMP_DIR]/managed/cpython-3.13.11-macos-aarch64-none/bin/python3.13
[TEMP_DIR]/managed/cpython-3.13.[LATEST]-macos-aarch64-none/bin/python3.13
----- stderr -----
");
@@ -2843,14 +2847,15 @@ fn python_install_emulated_windows_x86_on_x64() {
let context: TestContext = TestContext::new_with_versions(&[])
.with_filtered_exe_suffix()
.with_managed_python_dirs()
.with_python_download_cache();
.with_python_download_cache()
.with_filtered_latest_python_versions();
// Before installation, `uv python list` should not show the x86_32 download
uv_snapshot!(context.filters(), context.python_list().arg("3.13"), @r"
success: true
exit_code: 0
----- stdout -----
cpython-3.13.11-windows-x86_64-none <download available>
cpython-3.13.[LATEST]-windows-x86_64-none <download available>
----- stderr -----
");
@@ -2862,8 +2867,8 @@ fn python_install_emulated_windows_x86_on_x64() {
----- stdout -----
----- stderr -----
Installed Python 3.13.11 in [TIME]
+ cpython-3.13.11-windows-x86-none (python3.13)
Installed Python 3.13.[LATEST] in [TIME]
+ cpython-3.13.[LATEST]-windows-x86-none (python3.13)
");
// It should be discoverable with `uv python find`
@@ -2871,7 +2876,7 @@ fn python_install_emulated_windows_x86_on_x64() {
success: true
exit_code: 0
----- stdout -----
[TEMP_DIR]/managed/cpython-3.13.11-windows-x86-none/python
[TEMP_DIR]/managed/cpython-3.13.[LATEST]-windows-x86-none/python
----- stderr -----
");
@@ -2881,8 +2886,8 @@ fn python_install_emulated_windows_x86_on_x64() {
success: true
exit_code: 0
----- stdout -----
cpython-3.13.11-windows-x86_64-none <download available>
cpython-3.13.11-windows-x86-none managed/cpython-3.13.11-windows-x86-none/python
cpython-3.13.[LATEST]-windows-x86_64-none <download available>
cpython-3.13.[LATEST]-windows-x86-none managed/cpython-3.13.[LATEST]-windows-x86-none/python
----- stderr -----
");
@@ -2893,8 +2898,8 @@ fn python_install_emulated_windows_x86_on_x64() {
----- stdout -----
----- stderr -----
Installed Python 3.13.11 in [TIME]
+ cpython-3.13.11-windows-x86_64-none
Installed Python 3.13.[LATEST] in [TIME]
+ cpython-3.13.[LATEST]-windows-x86_64-none
");
// Once we've installed the native version, it should be preferred over x86_32
@@ -2902,7 +2907,7 @@ fn python_install_emulated_windows_x86_on_x64() {
success: true
exit_code: 0
----- stdout -----
[TEMP_DIR]/managed/cpython-3.13.11-windows-x86_64-none/python
[TEMP_DIR]/managed/cpython-3.13.[LATEST]-windows-x86_64-none/python
----- stderr -----
");
@@ -3477,7 +3482,8 @@ fn python_install_pyodide() {
let context: TestContext = TestContext::new_with_versions(&[])
.with_filtered_exe_suffix()
.with_managed_python_dirs()
.with_python_download_cache();
.with_python_download_cache()
.with_filtered_latest_python_versions();
uv_snapshot!(context.filters(), context.python_install().arg("cpython-3.13.2-emscripten-wasm32-musl"), @"
success: true
@@ -3615,8 +3621,8 @@ fn python_install_pyodide() {
----- stdout -----
----- stderr -----
Installed Python 3.14.2 in [TIME]
+ cpython-3.14.2-[PLATFORM] (python3.14)
Installed Python 3.14.[LATEST] in [TIME]
+ cpython-3.14.[LATEST]-[PLATFORM] (python3.14)
");
// Now, we should prefer that
@@ -3624,7 +3630,7 @@ fn python_install_pyodide() {
success: true
exit_code: 0
----- stdout -----
[TEMP_DIR]/managed/cpython-3.14.2-[PLATFORM]/bin/python3.14
[TEMP_DIR]/managed/cpython-3.14.[LATEST]-[PLATFORM]/bin/python3.14
----- stderr -----
");
@@ -3800,7 +3806,8 @@ fn python_install_upgrade() {
.with_python_download_cache()
.with_filtered_python_keys()
.with_filtered_exe_suffix()
.with_managed_python_dirs();
.with_managed_python_dirs()
.with_filtered_latest_python_versions();
// Provide `--upgrade` as an `install` option without any versions
uv_snapshot!(context.filters(), context.python_install().arg("--upgrade"), @"
@@ -3809,8 +3816,8 @@ fn python_install_upgrade() {
----- stdout -----
----- stderr -----
Installed Python 3.14.2 in [TIME]
+ cpython-3.14.2-[PLATFORM] (python3.14)
Installed Python 3.14.[LATEST] in [TIME]
+ cpython-3.14.[LATEST]-[PLATFORM] (python3.14)
");
// Provide `--upgrade` as an `install` option without any versions again!
@@ -3841,8 +3848,8 @@ fn python_install_upgrade() {
----- stdout -----
----- stderr -----
Installed Python 3.10.19 in [TIME]
+ cpython-3.10.19-[PLATFORM] (python3.10)
Installed Python 3.10.[LATEST] in [TIME]
+ cpython-3.10.[LATEST]-[PLATFORM] (python3.10)
");
// Request a patch version with `--upgrade`
@@ -3862,8 +3869,8 @@ fn python_install_upgrade() {
----- stdout -----
----- stderr -----
Installed Python 3.11.14 in [TIME]
+ cpython-3.11.14-[PLATFORM] (python3.11)
Installed Python 3.11.[LATEST] in [TIME]
+ cpython-3.11.[LATEST]-[PLATFORM] (python3.11)
");
// Ask for it again
@@ -3916,7 +3923,7 @@ fn python_install_upgrade() {
----- stderr -----
Installed 2 versions in [TIME]
+ cpython-3.9.25-[PLATFORM] (python3.9)
+ cpython-3.12.12-[PLATFORM] (python3.12)
+ cpython-3.12.[LATEST]-[PLATFORM] (python3.12)
");
}
@@ -3926,7 +3933,8 @@ fn python_install_upgrade_version_file() {
.with_python_download_cache()
.with_filtered_python_keys()
.with_filtered_exe_suffix()
.with_managed_python_dirs();
.with_managed_python_dirs()
.with_filtered_latest_python_versions();
// Pin to a minor version
context.python_pin().arg("3.13").assert().success();
@@ -3938,8 +3946,8 @@ fn python_install_upgrade_version_file() {
----- stdout -----
----- stderr -----
Installed Python 3.13.11 in [TIME]
+ cpython-3.13.11-[PLATFORM] (python3.13)
Installed Python 3.13.[LATEST] in [TIME]
+ cpython-3.13.[LATEST]-[PLATFORM] (python3.13)
");
// Provide `--upgrade` as an `install` option without any versions again!
@@ -4022,7 +4030,8 @@ fn python_install_compile_bytecode() -> anyhow::Result<()> {
.with_filtered_compiled_file_count()
.with_managed_python_dirs()
.with_empty_python_install_mirror()
.with_python_download_cache();
.with_python_download_cache()
.with_filtered_latest_python_versions();
// Install 3.14 and compile its bytecode
uv_snapshot!(context.filters(), context.python_install().arg("--compile-bytecode").arg("3.14"), @"
@@ -4031,8 +4040,8 @@ fn python_install_compile_bytecode() -> anyhow::Result<()> {
----- stdout -----
----- stderr -----
Installed Python 3.14.2 in [TIME]
+ cpython-3.14.2-[PLATFORM] (python3.14)
Installed Python 3.14.[LATEST] in [TIME]
+ cpython-3.14.[LATEST]-[PLATFORM] (python3.14)
Bytecode compiled [COUNT] files in [TIME]
");
@@ -4079,8 +4088,8 @@ fn python_install_compile_bytecode() -> anyhow::Result<()> {
----- stdout -----
----- stderr -----
Installed Python 3.14.2 in [TIME]
~ cpython-3.14.2-[PLATFORM] (python3.14)
Installed Python 3.14.[LATEST] in [TIME]
~ cpython-3.14.[LATEST]-[PLATFORM] (python3.14)
Bytecode compiled [COUNT] files in [TIME]
");
@@ -4095,7 +4104,8 @@ fn python_install_compile_bytecode_existing() {
.with_filtered_compiled_file_count()
.with_managed_python_dirs()
.with_empty_python_install_mirror()
.with_python_download_cache();
.with_python_download_cache()
.with_filtered_latest_python_versions();
// A fresh install should be able to be compiled later
uv_snapshot!(context.filters(), context.python_install().arg("3.14"), @"
@@ -4104,8 +4114,8 @@ fn python_install_compile_bytecode_existing() {
----- stdout -----
----- stderr -----
Installed Python 3.14.2 in [TIME]
+ cpython-3.14.2-[PLATFORM] (python3.14)
Installed Python 3.14.[LATEST] in [TIME]
+ cpython-3.14.[LATEST]-[PLATFORM] (python3.14)
");
uv_snapshot!(context.filters(), context.python_install().arg("--compile-bytecode").arg("3.14"), @"
@@ -4127,7 +4137,8 @@ fn python_install_compile_bytecode_upgrade() {
.with_filtered_compiled_file_count()
.with_managed_python_dirs()
.with_empty_python_install_mirror()
.with_python_download_cache();
.with_python_download_cache()
.with_filtered_latest_python_versions();
// An upgrade should also compile bytecode
uv_snapshot!(context.filters(), context.python_install().arg("3.14.0"), @"
@@ -4146,8 +4157,8 @@ fn python_install_compile_bytecode_upgrade() {
----- stdout -----
----- stderr -----
Installed Python 3.14.2 in [TIME]
+ cpython-3.14.2-[PLATFORM] (python3.14)
Installed Python 3.14.[LATEST] in [TIME]
+ cpython-3.14.[LATEST]-[PLATFORM] (python3.14)
Bytecode compiled [COUNT] files in [TIME]
");
}
@@ -4219,7 +4230,8 @@ fn python_install_compile_bytecode_multiple() {
.with_filtered_compiled_file_count()
.with_managed_python_dirs()
.with_empty_python_install_mirror()
.with_python_download_cache();
.with_python_download_cache()
.with_filtered_latest_python_versions();
// Should handle installing and compiling multiple versions correctly
uv_snapshot!(context.filters(), context.python_install().arg("--compile-bytecode").arg("3.14").arg("3.12"), @"
@@ -4229,8 +4241,8 @@ fn python_install_compile_bytecode_multiple() {
----- stderr -----
Installed 2 versions in [TIME]
+ cpython-3.12.12-[PLATFORM] (python3.12)
+ cpython-3.14.2-[PLATFORM] (python3.14)
+ cpython-3.12.[LATEST]-[PLATFORM] (python3.12)
+ cpython-3.14.[LATEST]-[PLATFORM] (python3.14)
Bytecode compiled [COUNT] files in [TIME]
");
}
+8 -7
View File
@@ -12,7 +12,8 @@ fn python_upgrade() {
.with_python_download_cache()
.with_filtered_python_keys()
.with_filtered_exe_suffix()
.with_managed_python_dirs();
.with_managed_python_dirs()
.with_filtered_latest_python_versions();
// Install an earlier patch version
uv_snapshot!(context.filters(), context.python_install().arg("--preview").arg("3.10.17"), @"
@@ -42,8 +43,8 @@ fn python_upgrade() {
----- stdout -----
----- stderr -----
Installed Python 3.10.19 in [TIME]
+ cpython-3.10.19-[PLATFORM] (python3.10)
Installed Python 3.10.[LATEST] in [TIME]
+ cpython-3.10.[LATEST]-[PLATFORM] (python3.10)
");
// Should be a no-op when already upgraded
@@ -63,8 +64,8 @@ fn python_upgrade() {
----- stdout -----
----- stderr -----
Installed Python 3.10.19 in [TIME]
~ cpython-3.10.19-[PLATFORM] (python3.10)
Installed Python 3.10.[LATEST] in [TIME]
~ cpython-3.10.[LATEST]-[PLATFORM] (python3.10)
");
// Install an earlier pre-release version
@@ -86,8 +87,8 @@ fn python_upgrade() {
----- stderr -----
warning: `uv python upgrade` is experimental and may change without warning. Pass `--preview-features python-upgrade` to disable this warning
Installed Python 3.14.2 in [TIME]
+ cpython-3.14.2-[PLATFORM] (python3.14)
Installed Python 3.14.[LATEST] in [TIME]
+ cpython-3.14.[LATEST]-[PLATFORM] (python3.14)
");
}