Gentoo Developer Asks Python Projects to Drop uv-build
Software / news
Gentoo Developer Asks Python Projects to Drop uv-build
Michał Górny says Astral's Rust build backend is 1.2 to 1.5 MiB against 45 KiB for flit-core, and that its release pace forces source rebuilds for Gentoo users.
Michał Górny, a Gentoo developer, asked Python projects on Oct. 12 to stop using uv-build, the Rust-based build backend from Astral's uv, in a blog post titled "A plea not to use uv-build." He wrote that the post is not a criticism of uv or other Astral tools, only of the backend, whose drawbacks he says outweigh its benefits.
A build backend is the program that turns a source tree into a wheel or source distribution. Under PEP 517, any installer such as pip or uv can call any backend, so a project's choice of backend is a decision about everyone who builds it from source.
The numbers in the post
As of uv-build 0.13.0, Górny wrote, the wheels are 1.2 to 1.5 MiB depending on platform. The flit-core wheel is about 45 KiB. He counted 12 uv-build releases in the 30 days before the post.
For Gentoo, which builds packages from source, each release means compiling a Rust tool again. He said packages lose their stability keywords when a key dependency switches to uv-build.
- flit-core45 KiB
- uv-build, smallest wheel (1.2 MiB)1229 KiB
- uv-build, largest wheel (1.5 MiB)1536 KiB
Source: Michał Górny, Gentoo blog, Oct. 12, 2026 (uv-build 0.13.0; MiB converted at 1,024 KiB)
Why Rust is the sticking point
Górny's portability case is specific. Rust supports fewer platforms than C, he wrote, so uv may fail even where a Rust compiler exists. His examples are a rustix dependency that skips SPARC, and binaries so large they exhaust address space on 32-bit platforms. The Gentoo uv ebuild, the package's build recipe, already carries two workarounds for 32-bit builds.
He dismissed the two usual arguments for the backend. Consistency with uv does not matter under PEP 517, he wrote. The speed gain is roughly 100 ms for an action that runs rarely, and fetching a 1.5 MiB wheel can offset it.
His complaint is about packaging, not the language's safety record, which this site covered in a report on a borrow-checker bug open for 11 years.
What Astral's documentation says
Astral's build backend documentation calls uv_build "a great choice for most Python projects." It also states that the backend "currently only supports pure Python code", which is the case Górny says gains nothing from Rust.
The page says the backend follows uv's versioning policy and recommends pinning an upper bound, for example uv_build>=0.13.0,<0.14, so a package keeps building as releases arrive.
The uv executable also bundles a copy that it uses for its own builds when the version is compatible. Other frontends, such as python -m build, always fetch the uv_build package from PyPI.
| Backend | Language | Wheel size | Named by |
|---|---|---|---|
| uv-build 0.13.0 | Rust | 1.2 to 1.5 MiB | Górny |
| flit-core | Python | about 45 KiB | Górny |
What he asks maintainers to use
Górny names two pure-Python backends, flit-core and hatchling, and says both work with uv and other frontends. Astral's documentation itself points to hatchling for projects that need build scripts or a more flexible layout.
Build tooling choices get argued on figures the vendor supplies, as in the Scion source control story, where Anthropic's numbers were all its own. Here the figures are a packager's, and the post does not name which projects have adopted uv-build, so how many Gentoo packages are affected is unknown.
The number to watch is the release count. Górny counted 12 uv-build releases in 30 days, and the pin in Astral's example, <0.14, closes at the next minor version.
Sources
More in Software
- 01xtool Builds iOS Apps on Linux, With Gaps That MatterThe MIT-licensed Xcode replacement has about 9,400 GitHub stars, while its issue tracker shows WSL2 hangs, an empty widget binary and an open licence question.
- 02context-mode Claims 98% Less Agent Context Under Elastic LicenseThe 28,300-star plugin for Claude Code and about 17 other coding agents ships under ELv2, which Elastic says is not open source, and its README gives no method for the 98 percent figure.
- 03Apple's Safari-vs-Chrome Claims Rest on Prerelease BuildsThe footnotes on Apple's new Switch to Safari page show tests run in August 2026 on one laptop, against two different Chrome builds.
- 04Rust Borrow Checker Bug 11 Years Old Lets Safe Code Hide a Short-Lived Reference in a 'static ValueIssue #164250 shows a Drop impl smuggling a stack reference past the compiler on stable releases back to 1.85.0, and commenters trace variants to Rust 1.4.