From 7624932aa6303a914d812a70a19ad53120b8bc60 Mon Sep 17 00:00:00 2001 From: Zanie Blue Date: Wed, 18 Mar 2026 07:47:59 -0500 Subject: [PATCH 1/2] Add details on Linux versions to the platform policy --- docs/reference/policies/platforms.md | 37 ++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/docs/reference/policies/platforms.md b/docs/reference/policies/platforms.md index 546ded9f596b4..dc98392174f86 100644 --- a/docs/reference/policies/platforms.md +++ b/docs/reference/policies/platforms.md @@ -38,6 +38,43 @@ vary in practice. Tier 3 platforms may not be built or tested, but uv will accept patches to fix bugs. +## Linux versions + +uv publishes separate Linux artifacts for glibc-based and musl-based distributions. + +For glibc-based Linux distributions, uv publishes +[manylinux-compatible](https://peps.python.org/pep-0600/) wheels and corresponding binaries. These +artifacts depend on glibc being available on the host system. In a manylinux wheel tag, the version +encodes the minimum supported glibc version for that wheel; for example, `manylinux_2_17_x86_64` +means glibc 2.17+ on x86_64. + +uv's official glibc-based wheels and binaries are published for the following targets: + +- `x86_64-unknown-linux-gnu` (`manylinux_2_17_x86_64`) +- `aarch64-unknown-linux-gnu` (`manylinux_2_28_aarch64`) +- `armv7-unknown-linux-gnueabihf` (`manylinux_2_17_armv7l`) +- `i686-unknown-linux-gnu` (`manylinux_2_17_i686`) +- `powerpc64le-unknown-linux-gnu` (`manylinux_2_17_ppc64le`) +- `riscv64gc-unknown-linux-gnu` (`manylinux_2_31_riscv64`) +- `s390x-unknown-linux-gnu` (`manylinux_2_17_s390x`) + +For musl-based Linux distributions, such as Alpine, uv publishes wheels and fully statically linked +musl binaries for the following targets: + +- `x86_64-unknown-linux-musl` (`musllinux_1_1_x86_64`) +- `aarch64-unknown-linux-musl` (`musllinux_1_1_aarch64`) +- `armv7-unknown-linux-musleabihf` (`musllinux_1_1_armv7l`) +- `i686-unknown-linux-musl` (`musllinux_1_1_i686`) +- `riscv64gc-unknown-linux-musl` (`musllinux_1_1_riscv64`) +- `arm-unknown-linux-musleabihf` (`linux_armv6l`) + +The wheels are published with [musllinux-compatible](https://peps.python.org/pep-0656/) tags. +However, the embedded `uv` binaries are fully statically linked and do not require musl libc on the +host system. + +The official [Docker images](../../guides/integration/docker.md) include these fully statically +linked musl uv binaries for amd64 and arm64. + ## Windows versions The minimum supported Windows versions are Windows 10 and Windows Server 2016, following From 85f3c9c982178ef9b9604e7454f19f1a308321f4 Mon Sep 17 00:00:00 2001 From: Zanie Blue Date: Thu, 19 Mar 2026 15:39:55 -0500 Subject: [PATCH 2/2] Apply suggestion from @zanieb --- docs/reference/policies/platforms.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/reference/policies/platforms.md b/docs/reference/policies/platforms.md index dc98392174f86..22b7c920b285a 100644 --- a/docs/reference/policies/platforms.md +++ b/docs/reference/policies/platforms.md @@ -40,13 +40,15 @@ Tier 3 platforms may not be built or tested, but uv will accept patches to fix b ## Linux versions -uv publishes separate Linux artifacts for glibc-based and musl-based distributions. +On Linux, compatibility is determined by libc version. + +uv publishes both glibc-based and musl-based distributions. For glibc-based Linux distributions, uv publishes [manylinux-compatible](https://peps.python.org/pep-0600/) wheels and corresponding binaries. These artifacts depend on glibc being available on the host system. In a manylinux wheel tag, the version encodes the minimum supported glibc version for that wheel; for example, `manylinux_2_17_x86_64` -means glibc 2.17+ on x86_64. +requires glibc 2.17+. uv's official glibc-based wheels and binaries are published for the following targets: @@ -58,8 +60,7 @@ uv's official glibc-based wheels and binaries are published for the following ta - `riscv64gc-unknown-linux-gnu` (`manylinux_2_31_riscv64`) - `s390x-unknown-linux-gnu` (`manylinux_2_17_s390x`) -For musl-based Linux distributions, such as Alpine, uv publishes wheels and fully statically linked -musl binaries for the following targets: +uv also publishes musl-based wheels and fully statically linked binaries for the following targets: - `x86_64-unknown-linux-musl` (`musllinux_1_1_x86_64`) - `aarch64-unknown-linux-musl` (`musllinux_1_1_aarch64`)