From f1b4b079c32d922e297d604daae2aaa193b6aa5f Mon Sep 17 00:00:00 2001 From: Armin Ronacher Date: Mon, 24 Apr 2023 11:09:39 +0200 Subject: [PATCH 1/2] Internal refactorings to support custom python builds --- rye/find-downloads.py | 3 +- rye/src/bootstrap.rs | 22 +- rye/src/cli/fetch.rs | 2 +- rye/src/cli/pin.rs | 24 +- rye/src/config.rs | 20 +- rye/src/downloads.inc | 527 +++++++++++++++++++++--------------------- rye/src/installer.rs | 2 +- rye/src/sources.rs | 161 +++++++++---- rye/src/sync.rs | 8 +- 9 files changed, 433 insertions(+), 336 deletions(-) diff --git a/rye/find-downloads.py b/rye/find-downloads.py index d9e7c6baea..c8701e9255 100644 --- a/rye/find-downloads.py +++ b/rye/find-downloads.py @@ -152,10 +152,11 @@ def _sort_key(info): print("// generated code, do not edit") +print("use std::borrow::Cow;") print("pub const CPYTHON_VERSIONS: &[(PythonVersion, &str, &str, &str)] = &[") for py_ver, choices in sorted( final_results.items(), key=lambda x: x[0], reverse=True ): for (arch, platform), url in sorted(choices.items()): - print(' (PythonVersion { kind: "cpython", major: %d, minor: %d, patch: %d }, "%s", "%s", "%s"),' % (py_ver + (arch, platform, url))) + print(' (PythonVersion { kind: Cow::Borrowed("cpython"), major: %d, minor: %d, patch: %d, suffix: None }, "%s", "%s", "%s"),' % (py_ver + (arch, platform, url))) print("];") diff --git a/rye/src/bootstrap.rs b/rye/src/bootstrap.rs index bd0fefa4dc..02f7ded4a1 100644 --- a/rye/src/bootstrap.rs +++ b/rye/src/bootstrap.rs @@ -1,3 +1,4 @@ +use std::borrow::Cow; use std::env::consts::{ARCH, OS}; use std::io::Write; use std::os::unix::fs::symlink; @@ -9,11 +10,17 @@ use anyhow::{bail, Error}; use console::style; use indicatif::{ProgressBar, ProgressStyle}; -use crate::config::{get_app_dir, get_py_bin, get_py_dir}; -use crate::sources::{get_download_url, PythonVersion}; +use crate::config::{get_app_dir, get_downloadable_py_dir, get_py_bin}; +use crate::sources::{get_download_url, PythonVersion, PythonVersionRequest}; use crate::utils::{unpack_tarball, CommandOutput}; -const SELF_PYTHON_VERSION: &str = "3.10.9"; +const SELF_PYTHON_VERSION: PythonVersionRequest = PythonVersionRequest { + kind: Some(Cow::Borrowed("cpython")), + major: 3, + minor: Some(10), + patch: None, + suffix: None, +}; const SELF_SITE_PACKAGES: &str = "python3.10/site-packages"; /// Bootstraps the venv for rye itself @@ -28,7 +35,7 @@ pub fn ensure_self_venv(output: CommandOutput) -> Result { eprintln!("Bootstrapping rye internals"); } - let version = fetch(SELF_PYTHON_VERSION, output)?; + let version = fetch(&SELF_PYTHON_VERSION, output)?; let py_bin = get_py_bin(&version)?; // initialize the virtualenv @@ -107,13 +114,16 @@ pub fn get_pip_module(venv: &Path) -> PathBuf { } /// Fetches a version if missing. -pub fn fetch(version: &str, output: CommandOutput) -> Result { +pub fn fetch( + version: &PythonVersionRequest, + output: CommandOutput, +) -> Result { let (version, url) = match get_download_url(version, OS, ARCH) { Some(result) => result, None => bail!("unknown version {}", version), }; - let target_dir = get_py_dir(&version)?; + let target_dir = get_downloadable_py_dir(&version)?; if output == CommandOutput::Verbose { eprintln!("target dir: {}", target_dir.display()); } diff --git a/rye/src/cli/fetch.rs b/rye/src/cli/fetch.rs index 5bdffa969d..1f62bd1ac0 100644 --- a/rye/src/cli/fetch.rs +++ b/rye/src/cli/fetch.rs @@ -19,6 +19,6 @@ pub struct Args { pub fn execute(cmd: Args) -> Result<(), Error> { let output = CommandOutput::from_quiet_and_verbose(cmd.quiet, cmd.verbose); - fetch(&cmd.version, output)?; + fetch(&cmd.version.parse()?, output)?; Ok(()) } diff --git a/rye/src/cli/pin.rs b/rye/src/cli/pin.rs index ff4ad36c49..04eec5bc65 100644 --- a/rye/src/cli/pin.rs +++ b/rye/src/cli/pin.rs @@ -1,40 +1,32 @@ -use std::env::{ - self, - consts::{ARCH, OS}, -}; +use std::env; use std::fs; use anyhow::{anyhow, Error}; use clap::Parser; -use crate::{pyproject::PyProject, sources::get_download_url}; +use crate::config::get_pinnable_version; +use crate::pyproject::PyProject; +use crate::sources::PythonVersionRequest; /// Pins a Python version to this project. #[derive(Parser, Debug)] pub struct Args { - /// The version of Python to fetch. + /// The version of Python to pin. version: String, } pub fn execute(cmd: Args) -> Result<(), Error> { - let (version, _) = get_download_url(&cmd.version, OS, ARCH) + let req: PythonVersionRequest = cmd.version.parse()?; + let to_write = get_pinnable_version(&req) .ok_or_else(|| anyhow!("unsupported version for this platform"))?; - // pin in a format known to other toolchains for as long as we're under cpython - let serialized_version = version.to_string(); - let to_write = if let Some(rest) = serialized_version.strip_prefix("cpython@") { - rest - } else { - &serialized_version - }; - let version_file = match PyProject::discover() { Ok(proj) => proj.root_path().join(".python-version"), Err(_) => env::current_dir()?.join(".python-version"), }; fs::write(&version_file, format!("{}\n", to_write))?; - eprintln!("pinned {} in {}", version, version_file.display()); + eprintln!("pinned {} in {}", to_write, version_file.display()); Ok(()) } diff --git a/rye/src/config.rs b/rye/src/config.rs index 2bdb46af96..6b89cba78f 100644 --- a/rye/src/config.rs +++ b/rye/src/config.rs @@ -1,3 +1,4 @@ +use std::env::consts::{ARCH, OS}; use std::path::{Path, PathBuf}; use std::process::{Command, Stdio}; use std::{env, fs}; @@ -5,7 +6,7 @@ use std::{env, fs}; use anyhow::{anyhow, Error}; use once_cell::sync::Lazy; -use crate::sources::PythonVersion; +use crate::sources::{get_download_url, PythonVersion, PythonVersionRequest}; static APP_DIR: Lazy> = Lazy::new(|| simple_home_dir::home_dir().map(|x| x.join(".rye"))); @@ -18,7 +19,7 @@ pub fn get_app_dir() -> Result<&'static Path, Error> { } /// Returns the cache directory for a particular python version. -pub fn get_py_dir(version: &PythonVersion) -> Result { +pub fn get_downloadable_py_dir(version: &PythonVersion) -> Result { let mut rv = get_app_dir()?.to_path_buf(); rv.push("py"); rv.push(version.to_string()); @@ -28,13 +29,26 @@ pub fn get_py_dir(version: &PythonVersion) -> Result { /// Returns the path of the python binary for the given version. pub fn get_py_bin(version: &PythonVersion) -> Result { // TODO: this only supports the redistributable pythons for now - let mut p = get_py_dir(version)?; + let mut p = get_downloadable_py_dir(version)?; p.push("install"); p.push("bin"); p.push("python3"); Ok(p) } +/// Returns a pinnable version for this version request. +/// +/// This is the version number that will be written into `.python-version` +pub fn get_pinnable_version(req: &PythonVersionRequest) -> Option { + if let Some((version, _)) = get_download_url(req, OS, ARCH) { + let serialized_version = version.to_string(); + if let Some(rest) = serialized_version.strip_prefix("cpython@") { + return Some(rest.to_string()); + } + } + None +} + /// Returns the default author from git. pub fn get_default_author() -> Option<(String, String)> { let rv = Command::new("git") diff --git a/rye/src/downloads.inc b/rye/src/downloads.inc index 1b13db254d..a30cb64bc0 100644 --- a/rye/src/downloads.inc +++ b/rye/src/downloads.inc @@ -1,266 +1,267 @@ // generated code, do not edit +use std::borrow::Cow; pub const CPYTHON_VERSIONS: &[(PythonVersion, &str, &str, &str)] = &[ - (PythonVersion { kind: "cpython", major: 3, minor: 11, patch: 1 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1%2B20230116-aarch64-unknown-linux-gnu-lto-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 11, patch: 1 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1%2B20230116-aarch64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 11, patch: 1 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1%2B20230116-i686-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 11, patch: 1 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1%2B20230116-i686-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 11, patch: 1 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1%2B20230116-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 11, patch: 1 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1%2B20230116-x86_64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 11, patch: 1 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1%2B20230116-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 9 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.10.9%2B20221220-aarch64-unknown-linux-gnu-lto-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 9 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.10.9%2B20221220-aarch64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 9 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.10.9%2B20221220-i686-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 9 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.10.9%2B20221220-i686-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 9 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.10.9%2B20221220-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 9 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.10.9%2B20221220-x86_64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 9 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.10.9%2B20221220-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 8 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.10.8%2B20221106-aarch64-unknown-linux-gnu-lto-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 8 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.10.8%2B20221106-aarch64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 8 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.10.8%2B20221106-i686-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 8 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.10.8%2B20221106-i686-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 8 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.10.8%2B20221106-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 8 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.10.8%2B20221106-x86_64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 8 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.10.8%2B20221106-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 7 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.10.7%2B20221002-aarch64-unknown-linux-gnu-lto-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 7 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.10.7%2B20221002-aarch64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 7 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.10.7%2B20221002-i686-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 7 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.10.7%2B20221002-i686-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 7 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.10.7%2B20221002-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 7 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.10.7%2B20221002-x86_64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 7 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.10.7%2B20221002-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 6 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220802/cpython-3.10.6%2B20220802-aarch64-unknown-linux-gnu-lto-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 6 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220802/cpython-3.10.6%2B20220802-aarch64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 6 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220802/cpython-3.10.6%2B20220802-i686-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 6 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220802/cpython-3.10.6%2B20220802-i686-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 6 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220802/cpython-3.10.6%2B20220802-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 6 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220802/cpython-3.10.6%2B20220802-x86_64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 6 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220802/cpython-3.10.6%2B20220802-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 5 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220630/cpython-3.10.5%2B20220630-aarch64-unknown-linux-gnu-lto-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 5 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220630/cpython-3.10.5%2B20220630-aarch64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 5 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220630/cpython-3.10.5%2B20220630-i686-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 5 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220630/cpython-3.10.5%2B20220630-i686-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 5 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220630/cpython-3.10.5%2B20220630-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 5 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220630/cpython-3.10.5%2B20220630-x86_64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 5 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220630/cpython-3.10.5%2B20220630-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 4 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.10.4%2B20220502-aarch64-unknown-linux-gnu-lto-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 4 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.10.4%2B20220502-aarch64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 4 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.10.4%2B20220502-i686-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 4 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.10.4%2B20220502-i686-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 4 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.10.4%2B20220502-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 4 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.10.4%2B20220502-x86_64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 4 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.10.4%2B20220502-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 3 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.10.3%2B20220318-aarch64-unknown-linux-gnu-lto-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 3 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.10.3%2B20220318-aarch64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 3 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.10.3%2B20220318-i686-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 3 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.10.3%2B20220318-i686-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 3 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.10.3%2B20220318-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 3 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.10.3%2B20220318-x86_64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 3 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.10.3%2B20220318-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 2 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.10.2-aarch64-unknown-linux-gnu-lto-20220220T1113.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 2 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.10.2-aarch64-apple-darwin-pgo-20220220T1113.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 2 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.10.2-i686-unknown-linux-gnu-pgo-20220220T1113.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 2 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.10.2-i686-pc-windows-msvc-static-noopt-20220220T1113.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 2 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.10.2-x86_64-unknown-linux-gnu-pgo-20220220T1113.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 2 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.10.2-x86_64-apple-darwin-pgo-20220220T1113.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 2 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.10.2-x86_64-pc-windows-msvc-static-noopt-20220220T1113.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 0 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.10.0-aarch64-unknown-linux-gnu-lto-20211011T1926.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 0 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.10.0-aarch64-apple-darwin-pgo-20211011T1926.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 0 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.10.0-i686-unknown-linux-gnu-pgo-20211011T1926.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 0 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.10.0-i686-pc-windows-msvc-static-noopt-20211011T1926.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 0 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.10.0-x86_64-unknown-linux-gnu-pgo-20211011T1926.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 0 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.10.0-x86_64-apple-darwin-pgo-20211011T1926.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 10, patch: 0 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.10.0-x86_64-pc-windows-msvc-static-noopt-20211011T1926.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 16 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.9.16%2B20221220-aarch64-unknown-linux-gnu-lto-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 16 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.9.16%2B20221220-aarch64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 16 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.9.16%2B20221220-i686-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 16 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.9.16%2B20221220-i686-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 16 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.9.16%2B20221220-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 16 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.9.16%2B20221220-x86_64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 16 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.9.16%2B20221220-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 15 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.9.15%2B20221106-aarch64-unknown-linux-gnu-lto-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 15 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.9.15%2B20221106-aarch64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 15 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.9.15%2B20221106-i686-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 15 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.9.15%2B20221106-i686-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 15 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.9.15%2B20221106-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 15 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.9.15%2B20221106-x86_64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 15 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.9.15%2B20221106-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 14 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.9.14%2B20221002-aarch64-unknown-linux-gnu-lto-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 14 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.9.14%2B20221002-aarch64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 14 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.9.14%2B20221002-i686-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 14 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.9.14%2B20221002-i686-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 14 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.9.14%2B20221002-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 14 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.9.14%2B20221002-x86_64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 14 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.9.14%2B20221002-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 13 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220528/cpython-3.9.13%2B20220528-aarch64-unknown-linux-gnu-lto-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 13 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220528/cpython-3.9.13%2B20220528-aarch64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 13 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220528/cpython-3.9.13%2B20220528-i686-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 13 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220528/cpython-3.9.13%2B20220528-i686-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 13 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220528/cpython-3.9.13%2B20220528-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 13 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220528/cpython-3.9.13%2B20220528-x86_64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 13 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220528/cpython-3.9.13%2B20220528-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 12 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.9.12%2B20220502-aarch64-unknown-linux-gnu-lto-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 12 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.9.12%2B20220502-aarch64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 12 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.9.12%2B20220502-i686-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 12 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.9.12%2B20220502-i686-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 12 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.9.12%2B20220502-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 12 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.9.12%2B20220502-x86_64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 12 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.9.12%2B20220502-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 11 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.9.11%2B20220318-aarch64-unknown-linux-gnu-lto-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 11 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.9.11%2B20220318-aarch64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 11 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.9.11%2B20220318-i686-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 11 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.9.11%2B20220318-i686-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 11 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.9.11%2B20220318-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 11 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.9.11%2B20220318-x86_64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 11 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.9.11%2B20220318-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 10 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.9.10-aarch64-unknown-linux-gnu-lto-20220220T1113.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 10 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.9.10-aarch64-apple-darwin-pgo-20220220T1113.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 10 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.9.10-i686-unknown-linux-gnu-pgo-20220220T1113.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 10 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.9.10-i686-pc-windows-msvc-static-noopt-20220220T1113.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 10 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.9.10-x86_64-unknown-linux-gnu-pgo-20220220T1113.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 10 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.9.10-x86_64-apple-darwin-pgo-20220220T1113.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 10 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.9.10-x86_64-pc-windows-msvc-static-noopt-20220220T1113.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 7 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.9.7-aarch64-unknown-linux-gnu-lto-20211011T1926.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 7 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.9.7-aarch64-apple-darwin-pgo-20211011T1926.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 7 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.9.7-i686-unknown-linux-gnu-pgo-20211011T1926.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 7 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.9.7-i686-pc-windows-msvc-static-noopt-20211011T1926.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 7 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.9.7-x86_64-unknown-linux-gnu-pgo-20211011T1926.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 7 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.9.7-x86_64-apple-darwin-pgo-20211011T1926.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 7 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.9.7-x86_64-pc-windows-msvc-static-noopt-20211011T1926.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 6 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.9.6-aarch64-unknown-linux-gnu-lto-20210724T1424.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 6 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.9.6-aarch64-apple-darwin-pgo-20210724T1424.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 6 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.9.6-i686-unknown-linux-gnu-pgo-20210724T1424.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 6 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.9.6-i686-pc-windows-msvc-static-noopt-20210724T1424.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 6 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.9.6-x86_64-unknown-linux-gnu-pgo-20210724T1424.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 6 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.9.6-x86_64-apple-darwin-pgo-20210724T1424.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 6 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.9.6-x86_64-pc-windows-msvc-static-noopt-20210724T1424.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 5 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.9.5-aarch64-apple-darwin-pgo-20210506T0943.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 5 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.9.5-i686-unknown-linux-gnu-pgo-20210506T0943.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 5 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.9.5-i686-pc-windows-msvc-static-noopt-20210506T0943.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 5 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.9.5-x86_64-unknown-linux-gnu-pgo-20210506T0943.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 5 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.9.5-x86_64-apple-darwin-pgo-20210506T0943.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 5 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.9.5-x86_64-pc-windows-msvc-static-noopt-20210506T0943.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 4 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210415/cpython-3.9.4-aarch64-apple-darwin-pgo-20210414T1515.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 4 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210415/cpython-3.9.4-i686-unknown-linux-gnu-pgo-20210414T1515.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 4 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210415/cpython-3.9.4-i686-pc-windows-msvc-static-noopt-20210414T1515.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 4 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210415/cpython-3.9.4-x86_64-unknown-linux-gnu-pgo-20210414T1515.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 4 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210415/cpython-3.9.4-x86_64-apple-darwin-pgo-20210414T1515.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 4 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210415/cpython-3.9.4-x86_64-pc-windows-msvc-static-noopt-20210414T1515.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 3 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210414/cpython-3.9.3-aarch64-apple-darwin-pgo-20210413T2055.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 3 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210414/cpython-3.9.3-i686-pc-windows-msvc-static-noopt-20210413T2055.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 3 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210414/cpython-3.9.3-x86_64-unknown-linux-gnu-pgo-20210413T2055.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 3 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210414/cpython-3.9.3-x86_64-apple-darwin-pgo-20210413T2055.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 3 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210414/cpython-3.9.3-x86_64-pc-windows-msvc-static-noopt-20210413T2055.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 2 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.9.2-aarch64-apple-darwin-pgo-20210228T1503.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 2 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.9.2-i686-unknown-linux-gnu-pgo-20210228T1503.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 2 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.9.2-i686-pc-windows-msvc-static-noopt-20210228T1503.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 2 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.9.2-x86_64-unknown-linux-gnu-pgo-20210228T1503.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 2 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.9.2-x86_64-apple-darwin-pgo-20210228T1503.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 2 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.9.2-x86_64-pc-windows-msvc-static-noopt-20210228T1503.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 1 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210103/cpython-3.9.1-i686-pc-windows-msvc-static-noopt-20210103T1125.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 1 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210103/cpython-3.9.1-x86_64-unknown-linux-gnu-pgo-20210103T1125.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 1 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210103/cpython-3.9.1-x86_64-apple-darwin-pgo-20210103T1125.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 1 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210103/cpython-3.9.1-x86_64-pc-windows-msvc-static-noopt-20210103T1125.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 0 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20201005/cpython-3.9.0-i686-pc-windows-msvc-static-noopt-20201006T0236.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 0 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20201005/cpython-3.9.0-x86_64-unknown-linux-gnu-pgo-20201006T0158.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 0 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20201005/cpython-3.9.0-x86_64-apple-darwin-pgo-20201006T0133.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 9, patch: 0 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20201005/cpython-3.9.0-x86_64-pc-windows-msvc-static-noopt-20201006T0232.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 16 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.8.16%2B20221220-aarch64-unknown-linux-gnu-lto-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 16 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.8.16%2B20221220-aarch64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 16 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.8.16%2B20221220-i686-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 16 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.8.16%2B20221220-i686-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 16 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.8.16%2B20221220-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 16 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.8.16%2B20221220-x86_64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 16 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.8.16%2B20221220-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 15 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.8.15%2B20221106-aarch64-unknown-linux-gnu-lto-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 15 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.8.15%2B20221106-aarch64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 15 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.8.15%2B20221106-i686-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 15 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.8.15%2B20221106-i686-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 15 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.8.15%2B20221106-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 15 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.8.15%2B20221106-x86_64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 15 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.8.15%2B20221106-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 14 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.8.14%2B20221002-aarch64-unknown-linux-gnu-lto-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 14 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.8.14%2B20221002-aarch64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 14 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.8.14%2B20221002-i686-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 14 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.8.14%2B20221002-i686-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 14 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.8.14%2B20221002-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 14 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.8.14%2B20221002-x86_64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 14 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.8.14%2B20221002-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 13 }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220802/cpython-3.8.13%2B20220802-aarch64-unknown-linux-gnu-lto-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 13 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.8.13%2B20220318-aarch64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 13 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.8.13%2B20220318-i686-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 13 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.8.13%2B20220318-i686-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 13 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.8.13%2B20220318-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 13 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.8.13%2B20220318-x86_64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 13 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.8.13%2B20220318-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 12 }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220227/cpython-3.8.12%2B20220227-aarch64-apple-darwin-pgo-full.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 12 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.8.12-i686-unknown-linux-gnu-pgo-20211011T1926.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 12 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.8.12-i686-pc-windows-msvc-static-noopt-20211011T1926.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 12 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.8.12-x86_64-unknown-linux-gnu-pgo-20211011T1926.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 12 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.8.12-x86_64-apple-darwin-pgo-20211011T1926.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 12 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.8.12-x86_64-pc-windows-msvc-static-noopt-20211011T1926.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 11 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.8.11-i686-unknown-linux-gnu-pgo-20210724T1424.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 11 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.8.11-i686-pc-windows-msvc-static-noopt-20210724T1424.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 11 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.8.11-x86_64-unknown-linux-gnu-pgo-20210724T1424.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 11 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.8.11-x86_64-apple-darwin-pgo-20210724T1424.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 11 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.8.11-x86_64-pc-windows-msvc-static-noopt-20210724T1424.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 10 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.8.10-i686-unknown-linux-gnu-pgo-20210506T0943.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 10 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.8.10-i686-pc-windows-msvc-static-noopt-20210506T0943.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 10 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.8.10-x86_64-unknown-linux-gnu-pgo-20210506T0943.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 10 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.8.10-x86_64-apple-darwin-pgo-20210506T0943.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 10 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.8.10-x86_64-pc-windows-msvc-static-noopt-20210506T0943.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 9 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210414/cpython-3.8.9-i686-unknown-linux-gnu-pgo-20210413T2055.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 9 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210414/cpython-3.8.9-i686-pc-windows-msvc-static-noopt-20210413T2055.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 9 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210414/cpython-3.8.9-x86_64-unknown-linux-gnu-pgo-20210413T2055.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 9 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210414/cpython-3.8.9-x86_64-apple-darwin-pgo-20210413T2055.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 9 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210414/cpython-3.8.9-x86_64-pc-windows-msvc-static-noopt-20210413T2055.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 8 }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.8.8-i686-unknown-linux-gnu-pgo-20210228T1503.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 8 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.8.8-i686-pc-windows-msvc-static-noopt-20210228T1503.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 8 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.8.8-x86_64-unknown-linux-gnu-pgo-20210228T1503.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 8 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.8.8-x86_64-apple-darwin-pgo-20210228T1503.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 8 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.8.8-x86_64-pc-windows-msvc-static-noopt-20210228T1503.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 7 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210103/cpython-3.8.7-i686-pc-windows-msvc-static-noopt-20210103T1125.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 7 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210103/cpython-3.8.7-x86_64-unknown-linux-gnu-pgo-20210103T1125.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 7 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210103/cpython-3.8.7-x86_64-apple-darwin-pgo-20210103T1125.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 7 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210103/cpython-3.8.7-x86_64-pc-windows-msvc-static-noopt-20210103T1125.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 6 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20201003/cpython-3.8.6-i686-pc-windows-msvc-static-noopt-20201003T2034.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 6 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20201003/cpython-3.8.6-x86_64-unknown-linux-gnu-pgo-20201003T2016.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 6 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20201003/cpython-3.8.6-x86_64-apple-darwin-pgo-20201003T2017.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 6 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20201003/cpython-3.8.6-x86_64-pc-windows-msvc-static-noopt-20201003T2015.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 5 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200822/cpython-3.8.5-i686-pc-windows-msvc-static-noopt-20200823T0304.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 5 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20200822/cpython-3.8.5-x86_64-unknown-linux-gnu-pgo-20200823T0036.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 5 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20200822/cpython-3.8.5-x86_64-apple-darwin-pgo-20200823T0123.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 5 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200822/cpython-3.8.5-x86_64-pc-windows-msvc-static-noopt-20200823T0237.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 3 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200517/cpython-3.8.3-i686-pc-windows-msvc-static-noopt-20200517T2247.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 3 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20200517/cpython-3.8.3-x86_64-unknown-linux-gnu-pgo-20200518T0040.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 3 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20200517/cpython-3.8.3-x86_64-apple-darwin-pgo-20200518T0141.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 3 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200517/cpython-3.8.3-x86_64-pc-windows-msvc-static-noopt-20200517T2203.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 2 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200418/cpython-3.8.2-i686-pc-windows-msvc-shared-pgo-20200418T2315.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 2 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20200418/cpython-3.8.2-x86_64-unknown-linux-gnu-pgo-20200418T2243.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 2 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20200418/cpython-3.8.2-x86_64-apple-darwin-pgo-20200418T2238.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 2 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200418/cpython-3.8.2-x86_64-pc-windows-msvc-shared-pgo-20200418T2315.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 9 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200822/cpython-3.7.9-i686-pc-windows-msvc-static-noopt-20200823T0221.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 9 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20200822/cpython-3.7.9-x86_64-unknown-linux-gnu-pgo-20200823T0036.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 9 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20200822/cpython-3.7.9-x86_64-apple-darwin-pgo-20200823T0123.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 9 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200822/cpython-3.7.9-x86_64-pc-windows-msvc-static-noopt-20200823T0153.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 7 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200418/cpython-3.7.7-i686-pc-windows-msvc-static-noopt-20200418T2317.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 7 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20200418/cpython-3.7.7-x86_64-unknown-linux-gnu-pgo-20200418T2226.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 7 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20200418/cpython-3.7.7-x86_64-apple-darwin-pgo-20200418T2238.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 7 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200418/cpython-3.7.7-x86_64-pc-windows-msvc-static-noopt-20200418T2311.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 6 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200216/cpython-3.7.6-windows-x86-shared-pgo-20200217T0110.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 6 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20200216/cpython-3.7.6-linux64-20200216T2303.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 6 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20200216/cpython-3.7.6-macos-20200216T2344.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 6 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200216/cpython-3.7.6-windows-amd64-shared-pgo-20200217T0022.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 5 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20191025/cpython-3.7.5-windows-x86-20191025T0549.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 5 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20191025/cpython-3.7.5-linux64-20191025T0506.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 5 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20191025/cpython-3.7.5-macos-20191026T0535.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 5 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20191025/cpython-3.7.5-windows-amd64-20191025T0540.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 4 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20190713/cpython-3.7.4-windows-x86-20190713T1826.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 4 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20190713/cpython-3.7.4-linux64-20190713T1809.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 4 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20190713/cpython-3.7.4-macos-20190710T0233.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 4 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20190713/cpython-3.7.4-windows-amd64-20190710T0203.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 3 }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20190617/cpython-3.7.3-windows-x86-20190709T0348.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 3 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20190427/cpython-3.7.3-linux64-20190427T2308.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 3 }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20190505/cpython-3.7.3-macos-20190506T0054.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 3 }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20190427/cpython-3.7.3-windows-amd64-20190430T0616.tar.zst"), - (PythonVersion { kind: "cpython", major: 3, minor: 7, patch: 1 }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20181218/cpython-3.7.1-linux64-20181218T1905.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 11, patch: 1, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1%2B20230116-aarch64-unknown-linux-gnu-lto-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 11, patch: 1, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1%2B20230116-aarch64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 11, patch: 1, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1%2B20230116-i686-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 11, patch: 1, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1%2B20230116-i686-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 11, patch: 1, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1%2B20230116-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 11, patch: 1, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1%2B20230116-x86_64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 11, patch: 1, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1%2B20230116-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 9, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.10.9%2B20221220-aarch64-unknown-linux-gnu-lto-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 9, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.10.9%2B20221220-aarch64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 9, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.10.9%2B20221220-i686-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 9, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.10.9%2B20221220-i686-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 9, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.10.9%2B20221220-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 9, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.10.9%2B20221220-x86_64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 9, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.10.9%2B20221220-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 8, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.10.8%2B20221106-aarch64-unknown-linux-gnu-lto-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 8, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.10.8%2B20221106-aarch64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 8, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.10.8%2B20221106-i686-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 8, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.10.8%2B20221106-i686-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 8, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.10.8%2B20221106-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 8, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.10.8%2B20221106-x86_64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 8, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.10.8%2B20221106-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 7, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.10.7%2B20221002-aarch64-unknown-linux-gnu-lto-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 7, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.10.7%2B20221002-aarch64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 7, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.10.7%2B20221002-i686-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 7, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.10.7%2B20221002-i686-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 7, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.10.7%2B20221002-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 7, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.10.7%2B20221002-x86_64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 7, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.10.7%2B20221002-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 6, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220802/cpython-3.10.6%2B20220802-aarch64-unknown-linux-gnu-lto-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 6, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220802/cpython-3.10.6%2B20220802-aarch64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 6, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220802/cpython-3.10.6%2B20220802-i686-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 6, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220802/cpython-3.10.6%2B20220802-i686-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 6, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220802/cpython-3.10.6%2B20220802-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 6, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220802/cpython-3.10.6%2B20220802-x86_64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 6, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220802/cpython-3.10.6%2B20220802-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 5, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220630/cpython-3.10.5%2B20220630-aarch64-unknown-linux-gnu-lto-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 5, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220630/cpython-3.10.5%2B20220630-aarch64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 5, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220630/cpython-3.10.5%2B20220630-i686-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 5, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220630/cpython-3.10.5%2B20220630-i686-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 5, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220630/cpython-3.10.5%2B20220630-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 5, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220630/cpython-3.10.5%2B20220630-x86_64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 5, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220630/cpython-3.10.5%2B20220630-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 4, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.10.4%2B20220502-aarch64-unknown-linux-gnu-lto-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 4, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.10.4%2B20220502-aarch64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 4, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.10.4%2B20220502-i686-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 4, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.10.4%2B20220502-i686-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 4, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.10.4%2B20220502-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 4, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.10.4%2B20220502-x86_64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 4, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.10.4%2B20220502-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 3, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.10.3%2B20220318-aarch64-unknown-linux-gnu-lto-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 3, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.10.3%2B20220318-aarch64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 3, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.10.3%2B20220318-i686-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 3, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.10.3%2B20220318-i686-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 3, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.10.3%2B20220318-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 3, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.10.3%2B20220318-x86_64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 3, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.10.3%2B20220318-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 2, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.10.2-aarch64-unknown-linux-gnu-lto-20220220T1113.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 2, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.10.2-aarch64-apple-darwin-pgo-20220220T1113.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 2, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.10.2-i686-unknown-linux-gnu-pgo-20220220T1113.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 2, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.10.2-i686-pc-windows-msvc-static-noopt-20220220T1113.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 2, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.10.2-x86_64-unknown-linux-gnu-pgo-20220220T1113.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 2, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.10.2-x86_64-apple-darwin-pgo-20220220T1113.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 2, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.10.2-x86_64-pc-windows-msvc-static-noopt-20220220T1113.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 0, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.10.0-aarch64-unknown-linux-gnu-lto-20211011T1926.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 0, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.10.0-aarch64-apple-darwin-pgo-20211011T1926.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 0, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.10.0-i686-unknown-linux-gnu-pgo-20211011T1926.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 0, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.10.0-i686-pc-windows-msvc-static-noopt-20211011T1926.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 0, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.10.0-x86_64-unknown-linux-gnu-pgo-20211011T1926.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 0, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.10.0-x86_64-apple-darwin-pgo-20211011T1926.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 10, patch: 0, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.10.0-x86_64-pc-windows-msvc-static-noopt-20211011T1926.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 16, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.9.16%2B20221220-aarch64-unknown-linux-gnu-lto-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 16, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.9.16%2B20221220-aarch64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 16, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.9.16%2B20221220-i686-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 16, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.9.16%2B20221220-i686-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 16, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.9.16%2B20221220-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 16, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.9.16%2B20221220-x86_64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 16, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.9.16%2B20221220-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 15, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.9.15%2B20221106-aarch64-unknown-linux-gnu-lto-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 15, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.9.15%2B20221106-aarch64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 15, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.9.15%2B20221106-i686-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 15, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.9.15%2B20221106-i686-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 15, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.9.15%2B20221106-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 15, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.9.15%2B20221106-x86_64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 15, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.9.15%2B20221106-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 14, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.9.14%2B20221002-aarch64-unknown-linux-gnu-lto-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 14, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.9.14%2B20221002-aarch64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 14, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.9.14%2B20221002-i686-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 14, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.9.14%2B20221002-i686-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 14, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.9.14%2B20221002-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 14, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.9.14%2B20221002-x86_64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 14, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.9.14%2B20221002-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 13, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220528/cpython-3.9.13%2B20220528-aarch64-unknown-linux-gnu-lto-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 13, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220528/cpython-3.9.13%2B20220528-aarch64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 13, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220528/cpython-3.9.13%2B20220528-i686-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 13, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220528/cpython-3.9.13%2B20220528-i686-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 13, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220528/cpython-3.9.13%2B20220528-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 13, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220528/cpython-3.9.13%2B20220528-x86_64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 13, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220528/cpython-3.9.13%2B20220528-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 12, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.9.12%2B20220502-aarch64-unknown-linux-gnu-lto-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 12, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.9.12%2B20220502-aarch64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 12, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.9.12%2B20220502-i686-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 12, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.9.12%2B20220502-i686-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 12, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.9.12%2B20220502-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 12, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.9.12%2B20220502-x86_64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 12, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220502/cpython-3.9.12%2B20220502-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 11, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.9.11%2B20220318-aarch64-unknown-linux-gnu-lto-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 11, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.9.11%2B20220318-aarch64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 11, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.9.11%2B20220318-i686-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 11, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.9.11%2B20220318-i686-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 11, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.9.11%2B20220318-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 11, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.9.11%2B20220318-x86_64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 11, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.9.11%2B20220318-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 10, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.9.10-aarch64-unknown-linux-gnu-lto-20220220T1113.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 10, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.9.10-aarch64-apple-darwin-pgo-20220220T1113.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 10, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.9.10-i686-unknown-linux-gnu-pgo-20220220T1113.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 10, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.9.10-i686-pc-windows-msvc-static-noopt-20220220T1113.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 10, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.9.10-x86_64-unknown-linux-gnu-pgo-20220220T1113.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 10, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.9.10-x86_64-apple-darwin-pgo-20220220T1113.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 10, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220222/cpython-3.9.10-x86_64-pc-windows-msvc-static-noopt-20220220T1113.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 7, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.9.7-aarch64-unknown-linux-gnu-lto-20211011T1926.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 7, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.9.7-aarch64-apple-darwin-pgo-20211011T1926.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 7, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.9.7-i686-unknown-linux-gnu-pgo-20211011T1926.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 7, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.9.7-i686-pc-windows-msvc-static-noopt-20211011T1926.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 7, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.9.7-x86_64-unknown-linux-gnu-pgo-20211011T1926.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 7, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.9.7-x86_64-apple-darwin-pgo-20211011T1926.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 7, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.9.7-x86_64-pc-windows-msvc-static-noopt-20211011T1926.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 6, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.9.6-aarch64-unknown-linux-gnu-lto-20210724T1424.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 6, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.9.6-aarch64-apple-darwin-pgo-20210724T1424.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 6, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.9.6-i686-unknown-linux-gnu-pgo-20210724T1424.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 6, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.9.6-i686-pc-windows-msvc-static-noopt-20210724T1424.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 6, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.9.6-x86_64-unknown-linux-gnu-pgo-20210724T1424.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 6, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.9.6-x86_64-apple-darwin-pgo-20210724T1424.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 6, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.9.6-x86_64-pc-windows-msvc-static-noopt-20210724T1424.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 5, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.9.5-aarch64-apple-darwin-pgo-20210506T0943.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 5, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.9.5-i686-unknown-linux-gnu-pgo-20210506T0943.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 5, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.9.5-i686-pc-windows-msvc-static-noopt-20210506T0943.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 5, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.9.5-x86_64-unknown-linux-gnu-pgo-20210506T0943.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 5, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.9.5-x86_64-apple-darwin-pgo-20210506T0943.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 5, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.9.5-x86_64-pc-windows-msvc-static-noopt-20210506T0943.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 4, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210415/cpython-3.9.4-aarch64-apple-darwin-pgo-20210414T1515.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 4, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210415/cpython-3.9.4-i686-unknown-linux-gnu-pgo-20210414T1515.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 4, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210415/cpython-3.9.4-i686-pc-windows-msvc-static-noopt-20210414T1515.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 4, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210415/cpython-3.9.4-x86_64-unknown-linux-gnu-pgo-20210414T1515.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 4, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210415/cpython-3.9.4-x86_64-apple-darwin-pgo-20210414T1515.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 4, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210415/cpython-3.9.4-x86_64-pc-windows-msvc-static-noopt-20210414T1515.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 3, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210414/cpython-3.9.3-aarch64-apple-darwin-pgo-20210413T2055.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 3, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210414/cpython-3.9.3-i686-pc-windows-msvc-static-noopt-20210413T2055.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 3, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210414/cpython-3.9.3-x86_64-unknown-linux-gnu-pgo-20210413T2055.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 3, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210414/cpython-3.9.3-x86_64-apple-darwin-pgo-20210413T2055.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 3, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210414/cpython-3.9.3-x86_64-pc-windows-msvc-static-noopt-20210413T2055.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 2, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.9.2-aarch64-apple-darwin-pgo-20210228T1503.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 2, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.9.2-i686-unknown-linux-gnu-pgo-20210228T1503.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 2, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.9.2-i686-pc-windows-msvc-static-noopt-20210228T1503.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 2, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.9.2-x86_64-unknown-linux-gnu-pgo-20210228T1503.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 2, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.9.2-x86_64-apple-darwin-pgo-20210228T1503.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 2, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.9.2-x86_64-pc-windows-msvc-static-noopt-20210228T1503.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 1, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210103/cpython-3.9.1-i686-pc-windows-msvc-static-noopt-20210103T1125.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 1, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210103/cpython-3.9.1-x86_64-unknown-linux-gnu-pgo-20210103T1125.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 1, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210103/cpython-3.9.1-x86_64-apple-darwin-pgo-20210103T1125.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 1, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210103/cpython-3.9.1-x86_64-pc-windows-msvc-static-noopt-20210103T1125.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 0, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20201005/cpython-3.9.0-i686-pc-windows-msvc-static-noopt-20201006T0236.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 0, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20201005/cpython-3.9.0-x86_64-unknown-linux-gnu-pgo-20201006T0158.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 0, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20201005/cpython-3.9.0-x86_64-apple-darwin-pgo-20201006T0133.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 9, patch: 0, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20201005/cpython-3.9.0-x86_64-pc-windows-msvc-static-noopt-20201006T0232.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 16, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.8.16%2B20221220-aarch64-unknown-linux-gnu-lto-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 16, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.8.16%2B20221220-aarch64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 16, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.8.16%2B20221220-i686-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 16, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.8.16%2B20221220-i686-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 16, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.8.16%2B20221220-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 16, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.8.16%2B20221220-x86_64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 16, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.8.16%2B20221220-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 15, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.8.15%2B20221106-aarch64-unknown-linux-gnu-lto-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 15, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.8.15%2B20221106-aarch64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 15, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.8.15%2B20221106-i686-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 15, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.8.15%2B20221106-i686-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 15, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.8.15%2B20221106-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 15, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.8.15%2B20221106-x86_64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 15, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.8.15%2B20221106-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 14, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.8.14%2B20221002-aarch64-unknown-linux-gnu-lto-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 14, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.8.14%2B20221002-aarch64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 14, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.8.14%2B20221002-i686-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 14, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.8.14%2B20221002-i686-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 14, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.8.14%2B20221002-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 14, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.8.14%2B20221002-x86_64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 14, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.8.14%2B20221002-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 13, suffix: None }, "aarch64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220802/cpython-3.8.13%2B20220802-aarch64-unknown-linux-gnu-lto-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 13, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.8.13%2B20220318-aarch64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 13, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.8.13%2B20220318-i686-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 13, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.8.13%2B20220318-i686-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 13, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.8.13%2B20220318-x86_64-unknown-linux-gnu-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 13, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.8.13%2B20220318-x86_64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 13, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20220318/cpython-3.8.13%2B20220318-x86_64-pc-windows-msvc-static-noopt-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 12, suffix: None }, "aarch64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20220227/cpython-3.8.12%2B20220227-aarch64-apple-darwin-pgo-full.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 12, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.8.12-i686-unknown-linux-gnu-pgo-20211011T1926.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 12, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.8.12-i686-pc-windows-msvc-static-noopt-20211011T1926.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 12, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.8.12-x86_64-unknown-linux-gnu-pgo-20211011T1926.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 12, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.8.12-x86_64-apple-darwin-pgo-20211011T1926.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 12, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.8.12-x86_64-pc-windows-msvc-static-noopt-20211011T1926.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 11, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.8.11-i686-unknown-linux-gnu-pgo-20210724T1424.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 11, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.8.11-i686-pc-windows-msvc-static-noopt-20210724T1424.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 11, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.8.11-x86_64-unknown-linux-gnu-pgo-20210724T1424.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 11, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.8.11-x86_64-apple-darwin-pgo-20210724T1424.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 11, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210724/cpython-3.8.11-x86_64-pc-windows-msvc-static-noopt-20210724T1424.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 10, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.8.10-i686-unknown-linux-gnu-pgo-20210506T0943.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 10, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.8.10-i686-pc-windows-msvc-static-noopt-20210506T0943.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 10, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.8.10-x86_64-unknown-linux-gnu-pgo-20210506T0943.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 10, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.8.10-x86_64-apple-darwin-pgo-20210506T0943.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 10, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210506/cpython-3.8.10-x86_64-pc-windows-msvc-static-noopt-20210506T0943.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 9, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210414/cpython-3.8.9-i686-unknown-linux-gnu-pgo-20210413T2055.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 9, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210414/cpython-3.8.9-i686-pc-windows-msvc-static-noopt-20210413T2055.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 9, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210414/cpython-3.8.9-x86_64-unknown-linux-gnu-pgo-20210413T2055.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 9, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210414/cpython-3.8.9-x86_64-apple-darwin-pgo-20210413T2055.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 9, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210414/cpython-3.8.9-x86_64-pc-windows-msvc-static-noopt-20210413T2055.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 8, suffix: None }, "x86", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.8.8-i686-unknown-linux-gnu-pgo-20210228T1503.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 8, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.8.8-i686-pc-windows-msvc-static-noopt-20210228T1503.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 8, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.8.8-x86_64-unknown-linux-gnu-pgo-20210228T1503.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 8, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.8.8-x86_64-apple-darwin-pgo-20210228T1503.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 8, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210228/cpython-3.8.8-x86_64-pc-windows-msvc-static-noopt-20210228T1503.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 7, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210103/cpython-3.8.7-i686-pc-windows-msvc-static-noopt-20210103T1125.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 7, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20210103/cpython-3.8.7-x86_64-unknown-linux-gnu-pgo-20210103T1125.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 7, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20210103/cpython-3.8.7-x86_64-apple-darwin-pgo-20210103T1125.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 7, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20210103/cpython-3.8.7-x86_64-pc-windows-msvc-static-noopt-20210103T1125.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 6, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20201003/cpython-3.8.6-i686-pc-windows-msvc-static-noopt-20201003T2034.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 6, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20201003/cpython-3.8.6-x86_64-unknown-linux-gnu-pgo-20201003T2016.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 6, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20201003/cpython-3.8.6-x86_64-apple-darwin-pgo-20201003T2017.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 6, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20201003/cpython-3.8.6-x86_64-pc-windows-msvc-static-noopt-20201003T2015.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 5, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200822/cpython-3.8.5-i686-pc-windows-msvc-static-noopt-20200823T0304.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 5, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20200822/cpython-3.8.5-x86_64-unknown-linux-gnu-pgo-20200823T0036.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 5, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20200822/cpython-3.8.5-x86_64-apple-darwin-pgo-20200823T0123.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 5, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200822/cpython-3.8.5-x86_64-pc-windows-msvc-static-noopt-20200823T0237.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 3, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200517/cpython-3.8.3-i686-pc-windows-msvc-static-noopt-20200517T2247.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 3, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20200517/cpython-3.8.3-x86_64-unknown-linux-gnu-pgo-20200518T0040.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 3, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20200517/cpython-3.8.3-x86_64-apple-darwin-pgo-20200518T0141.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 3, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200517/cpython-3.8.3-x86_64-pc-windows-msvc-static-noopt-20200517T2203.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 2, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200418/cpython-3.8.2-i686-pc-windows-msvc-shared-pgo-20200418T2315.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 2, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20200418/cpython-3.8.2-x86_64-unknown-linux-gnu-pgo-20200418T2243.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 2, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20200418/cpython-3.8.2-x86_64-apple-darwin-pgo-20200418T2238.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 8, patch: 2, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200418/cpython-3.8.2-x86_64-pc-windows-msvc-shared-pgo-20200418T2315.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 9, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200822/cpython-3.7.9-i686-pc-windows-msvc-static-noopt-20200823T0221.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 9, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20200822/cpython-3.7.9-x86_64-unknown-linux-gnu-pgo-20200823T0036.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 9, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20200822/cpython-3.7.9-x86_64-apple-darwin-pgo-20200823T0123.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 9, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200822/cpython-3.7.9-x86_64-pc-windows-msvc-static-noopt-20200823T0153.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 7, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200418/cpython-3.7.7-i686-pc-windows-msvc-static-noopt-20200418T2317.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 7, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20200418/cpython-3.7.7-x86_64-unknown-linux-gnu-pgo-20200418T2226.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 7, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20200418/cpython-3.7.7-x86_64-apple-darwin-pgo-20200418T2238.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 7, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200418/cpython-3.7.7-x86_64-pc-windows-msvc-static-noopt-20200418T2311.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 6, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200216/cpython-3.7.6-windows-x86-shared-pgo-20200217T0110.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 6, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20200216/cpython-3.7.6-linux64-20200216T2303.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 6, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20200216/cpython-3.7.6-macos-20200216T2344.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 6, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20200216/cpython-3.7.6-windows-amd64-shared-pgo-20200217T0022.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 5, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20191025/cpython-3.7.5-windows-x86-20191025T0549.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 5, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20191025/cpython-3.7.5-linux64-20191025T0506.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 5, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20191025/cpython-3.7.5-macos-20191026T0535.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 5, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20191025/cpython-3.7.5-windows-amd64-20191025T0540.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 4, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20190713/cpython-3.7.4-windows-x86-20190713T1826.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 4, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20190713/cpython-3.7.4-linux64-20190713T1809.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 4, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20190713/cpython-3.7.4-macos-20190710T0233.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 4, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20190713/cpython-3.7.4-windows-amd64-20190710T0203.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 3, suffix: None }, "x86", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20190617/cpython-3.7.3-windows-x86-20190709T0348.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 3, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20190427/cpython-3.7.3-linux64-20190427T2308.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 3, suffix: None }, "x86_64", "macos", "https://github.com/indygreg/python-build-standalone/releases/download/20190505/cpython-3.7.3-macos-20190506T0054.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 3, suffix: None }, "x86_64", "windows", "https://github.com/indygreg/python-build-standalone/releases/download/20190427/cpython-3.7.3-windows-amd64-20190430T0616.tar.zst"), + (PythonVersion { kind: Cow::Borrowed("cpython"), major: 3, minor: 7, patch: 1, suffix: None }, "x86_64", "linux", "https://github.com/indygreg/python-build-standalone/releases/download/20181218/cpython-3.7.1-linux64-20181218T1905.tar.zst"), ]; diff --git a/rye/src/installer.rs b/rye/src/installer.rs index 2303ca001a..d1db163ac8 100644 --- a/rye/src/installer.rs +++ b/rye/src/installer.rs @@ -42,7 +42,7 @@ pub fn install( let target_venv_bin_path = target_venv_path.join("bin"); uninstall_helper(&target_venv_path, &shim_dir)?; - create_virtualenv(output, &self_venv, py_ver, &target_venv_path)?; + create_virtualenv(output, &self_venv, &py_ver, &target_venv_path)?; let mut cmd = Command::new(&self_venv.join("bin/pip")); cmd.arg("--python") diff --git a/rye/src/sources.rs b/rye/src/sources.rs index 8f8001ff89..9382890837 100644 --- a/rye/src/sources.rs +++ b/rye/src/sources.rs @@ -14,20 +14,31 @@ mod indygreg_python { const DEFAULT_KIND: &str = "cpython"; /// Internal descriptor for a python version. -#[derive(PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Copy, Clone)] +#[derive(PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Clone)] pub struct PythonVersion { - pub kind: &'static str, + pub kind: Cow<'static, str>, pub major: u8, pub minor: u8, pub patch: u8, + pub suffix: Option>, } impl PythonVersion { /// Returns the latest version for this OS. pub fn latest_cpython() -> PythonVersion { - get_download_url("3", OS, ARCH) - .expect("unsupported platform") - .0 + get_download_url( + &PythonVersionRequest { + kind: None, + major: 3, + minor: None, + patch: None, + suffix: None, + }, + OS, + ARCH, + ) + .expect("unsupported platform") + .0 } } @@ -54,18 +65,17 @@ impl FromStr for PythonVersion { type Err = Error; fn from_str(s: &str) -> Result { - parse_version(s) - .map(|(kind, major, minor, patch)| PythonVersion { - kind: if kind == "cpython" { - "cpython" - } else { - "unknown" - }, - major, - minor: minor.unwrap_or(0), - patch: patch.unwrap_or(0), - }) - .ok_or_else(|| anyhow!("invalid version")) + let req: PythonVersionRequest = s.parse()?; + Ok(PythonVersion { + kind: match req.kind { + None => Cow::Borrowed(DEFAULT_KIND), + Some(other) => other, + }, + major: req.major, + minor: req.minor.unwrap_or(0), + patch: req.patch.unwrap_or(0), + suffix: req.suffix, + }) } } @@ -79,39 +89,108 @@ impl fmt::Display for PythonVersion { } } -fn parse_version(version: &str) -> Option<(&str, u8, Option, Option)> { - let (kind, version) = match version.split_once('@') { - Some(rv) => rv, - None => (DEFAULT_KIND, version), - }; - let mut iter = version.split('.').flat_map(|x| x.parse().ok()); - let a = iter.next()?; - Some((kind, a, iter.next(), iter.next())) +/// Internal descriptor for a python version request. +#[derive(PartialEq, Eq, PartialOrd, Ord, Hash, Debug, Clone)] +pub struct PythonVersionRequest { + pub kind: Option>, + pub major: u8, + pub minor: Option, + pub patch: Option, + pub suffix: Option>, +} + +impl From for PythonVersionRequest { + fn from(value: PythonVersion) -> Self { + PythonVersionRequest { + kind: Some(value.kind), + major: value.major, + minor: Some(value.minor), + patch: Some(value.patch), + suffix: value.suffix, + } + } +} + +impl FromStr for PythonVersionRequest { + type Err = Error; + + fn from_str(s: &str) -> Result { + let (kind, version) = match s.split_once('@') { + Some((kind, version)) => (Some(kind), version), + None => (None, s), + }; + let mut iter = version.split('.'); + let major = iter + .next() + .and_then(|x| x.parse::().ok()) + .ok_or_else(|| anyhow!("invalid version"))?; + let minor = iter.next().and_then(|x| x.parse::().ok()); + let patch = iter.next().and_then(|x| x.parse::().ok()); + let suffix = iter.next().map(|x| Cow::Owned(x.to_string())); + + Ok(PythonVersionRequest { + kind: kind.map(|x| x.to_string().into()), + major, + minor, + patch, + suffix, + }) + } } -fn matches_version(ref_version: (&str, u8, Option, Option), v: PythonVersion) -> bool { - match ref_version { - (kind, major, Some(minor), Some(patch)) => { - (v.kind, v.major, v.minor, v.patch) == (kind, major, minor, patch) +impl fmt::Display for PythonVersionRequest { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + if let Some(ref kind) = self.kind { + write!(f, "{}@", kind)?; + } + write!(f, "{}", self.major)?; + if let Some(ref minor) = self.minor { + write!(f, ".{}", minor)?; + if let Some(ref patch) = self.patch { + write!(f, ".{}", patch)?; + } + } + Ok(()) + } +} + +fn matches_version(req: &PythonVersionRequest, v: &PythonVersion) -> bool { + if req.kind.as_deref().unwrap_or(DEFAULT_KIND) != v.kind { + return false; + } + if req.major != v.major { + return false; + } + if let Some(minor) = req.minor { + if minor != v.minor { + return false; + } + } + if let Some(patch) = req.patch { + if patch != v.patch { + return false; + } + } + if let Some(ref suffix) = req.suffix { + if Some(suffix) != v.suffix.as_ref() { + return false; } - (kind, major, Some(minor), None) => v.kind == kind && v.major == major && v.minor == minor, - (kind, major, None, None | Some(_)) => v.kind == kind && v.major == major, } + true } /// Given a version, platform and architecture returns the download URL. pub fn get_download_url( - version: &str, + requested_version: &PythonVersionRequest, platform: &str, arch: &str, ) -> Option<(PythonVersion, &'static str)> { - let parsed_version = parse_version(version)?; for (it_version, it_arch, it_platform, it_url) in indygreg_python::CPYTHON_VERSIONS { if platform == *it_platform && arch == *it_arch - && matches_version(parsed_version, *it_version) + && matches_version(requested_version, it_version) { - return Some((*it_version, it_url)); + return Some((it_version.clone(), it_url)); } } None @@ -119,10 +198,10 @@ pub fn get_download_url( #[test] fn test_get_download_url() { - let url = get_download_url("3.8.14", "macos", "aarch64"); - assert_eq!(url, Some((PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 14 }, "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.8.14%2B20221002-aarch64-apple-darwin-pgo-full.tar.zst"))); - let url = get_download_url("3.8", "macos", "aarch64"); - assert_eq!(url, Some((PythonVersion { kind: "cpython", major: 3, minor: 8, patch: 16 }, "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.8.16%2B20221220-aarch64-apple-darwin-pgo-full.tar.zst"))); - let url = get_download_url("3", "macos", "aarch64"); - assert_eq!(url, Some((PythonVersion { kind: "cpython", major: 3, minor: 11, patch: 1}, "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1%2B20230116-aarch64-apple-darwin-pgo-full.tar.zst"))); + let url = get_download_url(&"3.8.14".parse().unwrap(), "macos", "aarch64"); + assert_eq!(url, Some((PythonVersion { kind: "cpython".into(), major: 3, minor: 8, patch: 14, suffix: None }, "https://github.com/indygreg/python-build-standalone/releases/download/20221002/cpython-3.8.14%2B20221002-aarch64-apple-darwin-pgo-full.tar.zst"))); + let url = get_download_url(&"3.8".parse().unwrap(), "macos", "aarch64"); + assert_eq!(url, Some((PythonVersion { kind: "cpython".into(), major: 3, minor: 8, patch: 16, suffix: None }, "https://github.com/indygreg/python-build-standalone/releases/download/20221220/cpython-3.8.16%2B20221220-aarch64-apple-darwin-pgo-full.tar.zst"))); + let url = get_download_url(&"3".parse().unwrap(), "macos", "aarch64"); + assert_eq!(url, Some((PythonVersion { kind: "cpython".into(), major: 3, minor: 11, patch: 1, suffix: None }, "https://github.com/indygreg/python-build-standalone/releases/download/20230116/cpython-3.11.1%2B20230116-aarch64-apple-darwin-pgo-full.tar.zst"))); } diff --git a/rye/src/sync.rs b/rye/src/sync.rs index 9245ae04f9..169502c5ae 100644 --- a/rye/src/sync.rs +++ b/rye/src/sync.rs @@ -100,7 +100,7 @@ pub fn sync(cmd: SyncOptions) -> Result<(), Error> { } // make sure we have a compatible python version - fetch(&py_ver.to_string(), output)?; + let py_ver = fetch(&py_ver.into(), output)?; // kill the virtualenv if it's there and we need to get rid of it. if recreate { @@ -122,7 +122,7 @@ pub fn sync(cmd: SyncOptions) -> Result<(), Error> { ); eprintln!("Python version: {}", style(&py_ver).cyan()); } - create_virtualenv(output, &self_venv, py_ver, &venv)?; + create_virtualenv(output, &self_venv, &py_ver, &venv)?; fs::write( &marker_file, serde_json::to_string_pretty(&VenvMarker { python: py_ver })?, @@ -219,10 +219,10 @@ pub fn sync(cmd: SyncOptions) -> Result<(), Error> { pub fn create_virtualenv( output: CommandOutput, self_venv: &Path, - py_ver: PythonVersion, + py_ver: &PythonVersion, venv: &Path, ) -> Result<(), Error> { - let py_bin = get_py_bin(&py_ver)?; + let py_bin = get_py_bin(py_ver)?; let mut venv_cmd = Command::new(self_venv.join("bin/virtualenv")); if output == CommandOutput::Verbose { venv_cmd.arg("--verbose"); From 7733427c72cd0ae0e4a2537143c89874b94e9470 Mon Sep 17 00:00:00 2001 From: Armin Ronacher Date: Mon, 24 Apr 2023 12:55:30 +0200 Subject: [PATCH 2/2] Added toolchain management --- README.md | 14 ++++ rye/src/bootstrap.rs | 14 +++- rye/src/cli/mod.rs | 3 + rye/src/cli/pin.rs | 2 +- rye/src/cli/toolchain.rs | 157 +++++++++++++++++++++++++++++++++++++++ rye/src/config.rs | 56 ++++++++++++-- rye/src/sources.rs | 39 +++++++++- 7 files changed, 274 insertions(+), 11 deletions(-) create mode 100644 rye/src/cli/toolchain.rs diff --git a/README.md b/README.md index aefd46f5fb..97a50fa6e5 100644 --- a/README.md +++ b/README.md @@ -192,6 +192,20 @@ This is done to create a unified experience of Python installations and to avoid incompatibilities created by different Python distributions. Most importantly this also means you never need to compile a Python any more, it just downloads prepared binaries. +## Managing Python Toolchains + +You can register custom Python toolchains with `rye toolchain register`: + +``` +$ rye toolchain register ~/Downloads/pypy3.9-v7.3.11-macos_arm64/bin/python +Registered /Users/mitsuhiko/Downloads/pypy3.9-v7.3.11-macos_arm64/bin/python as pypy@3.9.16 +``` + +Afterwards you can pin it, in this case with `rye pin pypy@3.9.16`. The auto detection of +the name might not be great, in which case you can provide an explicit name with `--name`. +To remove downloaded or linked toolchains, you can use the `rye toolchain remove` command. +To list what's available, use `rye toolchain list`. + ## Global Tools If you want tools to be installed into isolated virtualenvs (like pipsi and pipx), you diff --git a/rye/src/bootstrap.rs b/rye/src/bootstrap.rs index 02f7ded4a1..b35b25bfb8 100644 --- a/rye/src/bootstrap.rs +++ b/rye/src/bootstrap.rs @@ -10,7 +10,7 @@ use anyhow::{bail, Error}; use console::style; use indicatif::{ProgressBar, ProgressStyle}; -use crate::config::{get_app_dir, get_downloadable_py_dir, get_py_bin}; +use crate::config::{get_app_dir, get_canonical_py_path, get_py_bin}; use crate::sources::{get_download_url, PythonVersion, PythonVersionRequest}; use crate::utils::{unpack_tarball, CommandOutput}; @@ -118,12 +118,22 @@ pub fn fetch( version: &PythonVersionRequest, output: CommandOutput, ) -> Result { + if let Ok(version) = PythonVersion::try_from(version.clone()) { + let py_path = get_canonical_py_path(&version)?; + if py_path.is_dir() | py_path.is_file() { + if output == CommandOutput::Verbose { + eprintln!("Python version already downloaded. Skipping."); + } + return Ok(version); + } + } + let (version, url) = match get_download_url(version, OS, ARCH) { Some(result) => result, None => bail!("unknown version {}", version), }; - let target_dir = get_downloadable_py_dir(&version)?; + let target_dir = get_canonical_py_path(&version)?; if output == CommandOutput::Verbose { eprintln!("target dir: {}", target_dir.display()); } diff --git a/rye/src/cli/mod.rs b/rye/src/cli/mod.rs index a08649cd0b..3e093a55ea 100644 --- a/rye/src/cli/mod.rs +++ b/rye/src/cli/mod.rs @@ -12,6 +12,7 @@ mod run; mod shim; mod show; mod sync; +mod toolchain; mod uninstall; #[derive(Parser, Debug)] @@ -32,6 +33,7 @@ enum Command { Run(run::Args), Show(show::Args), Sync(sync::Args), + Toolchain(toolchain::Args), Uninstall(uninstall::Args), } @@ -52,6 +54,7 @@ pub fn execute() -> Result<(), Error> { Command::Run(cmd) => run::execute(cmd), Command::Show(cmd) => show::execute(cmd), Command::Sync(cmd) => sync::execute(cmd), + Command::Toolchain(cmd) => toolchain::execute(cmd), Command::Uninstall(cmd) => uninstall::execute(cmd), } } diff --git a/rye/src/cli/pin.rs b/rye/src/cli/pin.rs index 04eec5bc65..d2f2b0530c 100644 --- a/rye/src/cli/pin.rs +++ b/rye/src/cli/pin.rs @@ -18,7 +18,7 @@ pub struct Args { pub fn execute(cmd: Args) -> Result<(), Error> { let req: PythonVersionRequest = cmd.version.parse()?; let to_write = get_pinnable_version(&req) - .ok_or_else(|| anyhow!("unsupported version for this platform"))?; + .ok_or_else(|| anyhow!("unsupported/unknown version for this platform"))?; let version_file = match PyProject::discover() { Ok(proj) => proj.root_path().join(".python-version"), diff --git a/rye/src/cli/toolchain.rs b/rye/src/cli/toolchain.rs new file mode 100644 index 0000000000..b055b5a01a --- /dev/null +++ b/rye/src/cli/toolchain.rs @@ -0,0 +1,157 @@ +use std::cmp::Reverse; +use std::collections::HashMap; +use std::env::consts::{ARCH, OS}; +use std::fs; +use std::os::unix::fs::symlink; +use std::path::PathBuf; +use std::process::Command; + +use anyhow::{bail, Error}; +use clap::Parser; +use console::style; +use serde::Deserialize; + +use crate::config::{get_canonical_py_path, list_known_toolchains}; +use crate::sources::{iter_downloadable, PythonVersion}; + +const INSPECT_SCRIPT: &str = r#" +import json +import platform +print(json.dumps({ + "python_implementation": platform.python_implementation(), + "python_version": platform.python_version(), +})) +"#; + +#[derive(Debug, Deserialize)] +struct InspectInfo { + python_implementation: String, + python_version: String, +} + +/// Helper utility to manage Python toolchains. +#[derive(Parser, Debug)] +pub struct Args { + #[command(subcommand)] + command: SubCommand, +} + +/// Register a Python binary. +/// +/// Rye by default will automatically download Python releases from the internet. +/// Howver it's also possible to register already available local Python +/// installations. This allows you to use rye with self compiled Pythons. +#[derive(Parser, Debug)] +pub struct RegisterCommand { + /// Path to the Python binary. + path: PathBuf, + /// Name of the toolchain. If not provided a name is auto detected. + #[arg(short, long)] + name: Option, +} + +/// Removes a toolchain. +#[derive(Parser, Debug)] +pub struct RemoveCommand { + /// Name and version of the toolchain. + version: String, +} + +/// List all registered toolchains +#[derive(Parser, Debug)] +pub struct ListCommand { + /// Also include non installed, but downloadable toolchains + #[arg(long)] + include_downloadable: bool, +} + +#[derive(Parser, Debug)] +enum SubCommand { + Fetch(crate::cli::fetch::Args), + List(ListCommand), + Register(RegisterCommand), + Remove(RemoveCommand), +} + +pub fn execute(cmd: Args) -> Result<(), Error> { + match cmd.command { + SubCommand::Register(args) => register(args), + SubCommand::Fetch(args) => crate::cli::fetch::execute(args), + SubCommand::List(args) => list(args), + SubCommand::Remove(args) => remove(args), + } +} + +fn register(cmd: RegisterCommand) -> Result<(), Error> { + let output = Command::new(&cmd.path) + .arg("-c") + .arg(INSPECT_SCRIPT) + .output()?; + if !output.status.success() { + bail!("passed path does not appear to be a valid Python installation"); + } + + let info: InspectInfo = serde_json::from_slice(&output.stdout)?; + let target_version = match cmd.name { + Some(ref name) => format!("{}@{}", name, info.python_version), + None => { + let name = if info.python_implementation.eq_ignore_ascii_case("cpython") { + "custom-cpython" + } else { + &info.python_implementation + }; + format!("{}@{}", name.to_ascii_lowercase(), info.python_version) + } + }; + let target_version: PythonVersion = target_version.parse()?; + let target = get_canonical_py_path(&target_version)?; + + if target.is_file() || target.is_dir() { + bail!("target Python path {} is already in use", target.display()); + } + + symlink(&cmd.path, target)?; + println!("Registered {} as {}", cmd.path.display(), target_version); + + Ok(()) +} + +pub fn remove(cmd: RemoveCommand) -> Result<(), Error> { + let ver: PythonVersion = cmd.version.parse()?; + let path = get_canonical_py_path(&ver)?; + if path.is_file() { + fs::remove_file(&path)?; + eprintln!("Removed toolchain link {}", &ver); + } else if path.is_dir() { + fs::remove_dir_all(&path)?; + eprintln!("Removed installed toolchain {}", &ver); + } else { + eprintln!("Toolchain is not installed"); + } + Ok(()) +} + +fn list(cmd: ListCommand) -> Result<(), Error> { + let mut toolchains = list_known_toolchains()? + .into_iter() + .map(|version| (version, true)) + .collect::>(); + + if cmd.include_downloadable { + for version in iter_downloadable(OS, ARCH) { + toolchains.entry(version).or_insert(false); + } + } + + let mut versions = toolchains.into_iter().collect::>(); + versions.sort_by_cached_key(|a| (!a.1, a.0.kind.to_string(), Reverse(a.clone()))); + + for (version, installed) in versions { + if installed { + println!("{}", style(&version).green()); + } else { + println!("{} (downloadable)", style(version).dim()); + } + } + Ok(()) +} diff --git a/rye/src/config.rs b/rye/src/config.rs index 6b89cba78f..de5721dc23 100644 --- a/rye/src/config.rs +++ b/rye/src/config.rs @@ -18,8 +18,8 @@ pub fn get_app_dir() -> Result<&'static Path, Error> { .ok_or_else(|| anyhow!("cannot determine app directory")) } -/// Returns the cache directory for a particular python version. -pub fn get_downloadable_py_dir(version: &PythonVersion) -> Result { +/// Returns the cache directory for a particular python version that can be downloaded. +pub fn get_canonical_py_path(version: &PythonVersion) -> Result { let mut rv = get_app_dir()?.to_path_buf(); rv.push("py"); rv.push(version.to_string()); @@ -28,8 +28,13 @@ pub fn get_downloadable_py_dir(version: &PythonVersion) -> Result Result { - // TODO: this only supports the redistributable pythons for now - let mut p = get_downloadable_py_dir(version)?; + let mut p = get_canonical_py_path(version)?; + + // It's permissible to link Python binaries directly + if p.is_file() { + return Ok(p); + } + p.push("install"); p.push("bin"); p.push("python3"); @@ -40,13 +45,50 @@ pub fn get_py_bin(version: &PythonVersion) -> Result { /// /// This is the version number that will be written into `.python-version` pub fn get_pinnable_version(req: &PythonVersionRequest) -> Option { + let mut target_version = None; + + // If the version request points directly to a known version for which we + // have a known binary, we can use that. + if let Ok(ver) = PythonVersion::try_from(req.clone()) { + if let Ok(path) = get_py_bin(&ver) { + if path.is_file() { + target_version = Some(ver); + } + } + } + + // otherwise, any version we can download is an acceptable version if let Some((version, _)) = get_download_url(req, OS, ARCH) { + target_version = Some(version); + } + + // we return the stringified version of the version, but if always remove the + // cpython@ prefix to make it reusable with other toolchains such as pyenv. + if let Some(version) = target_version { let serialized_version = version.to_string(); - if let Some(rest) = serialized_version.strip_prefix("cpython@") { - return Some(rest.to_string()); + Some( + if let Some(rest) = serialized_version.strip_prefix("cpython@") { + rest.to_string() + } else { + serialized_version + }, + ) + } else { + None + } +} + +/// Returns a list of all registered toolchains. +pub fn list_known_toolchains() -> Result, Error> { + let folder = get_app_dir()?.join("py"); + let mut rv = Vec::new(); + for entry in folder.read_dir()? { + let entry = entry?; + if let Ok(ver) = entry.file_name().as_os_str().to_string_lossy().parse() { + rv.push(ver); } } - None + Ok(rv) } /// Returns the default author from git. diff --git a/rye/src/sources.rs b/rye/src/sources.rs index 9382890837..71a0782d5b 100644 --- a/rye/src/sources.rs +++ b/rye/src/sources.rs @@ -79,13 +79,34 @@ impl FromStr for PythonVersion { } } +impl TryFrom for PythonVersion { + type Error = Error; + + fn try_from(req: PythonVersionRequest) -> Result { + Ok(PythonVersion { + kind: match req.kind { + None => Cow::Borrowed(DEFAULT_KIND), + Some(other) => other, + }, + major: req.major, + minor: req.minor.ok_or_else(|| anyhow!("missing minor version"))?, + patch: req.patch.ok_or_else(|| anyhow!("missing patch version"))?, + suffix: req.suffix, + }) + } +} + impl fmt::Display for PythonVersion { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!( f, "{}@{}.{}.{}", self.kind, self.major, self.minor, self.patch - ) + )?; + if let Some(ref suffix) = self.suffix { + write!(f, ".{}", suffix)?; + } + Ok(()) } } @@ -196,6 +217,22 @@ pub fn get_download_url( None } +/// Returns an iterator over downloadable installations. +pub fn iter_downloadable<'s>( + platform: &'s str, + arch: &'s str, +) -> impl Iterator + 's { + indygreg_python::CPYTHON_VERSIONS.iter().filter_map( + move |(version, it_arch, it_platform, _)| { + if *it_arch == arch && *it_platform == platform { + Some(version.clone()) + } else { + None + } + }, + ) +} + #[test] fn test_get_download_url() { let url = get_download_url(&"3.8.14".parse().unwrap(), "macos", "aarch64");