uv/crates/uv-build-frontend
Charlie Marsh d9f9ed4aec
Reuse build (virtual) environments across resolution and installation (#14338)
## Summary

The basic idea here is that we can (should) reuse a build environment
across resolution (`prepare_metadata_for_build_wheel`) and installation.
This also happens to solve the build-PyTorch-from-source problem, since
we use a consistent build environment between the invocations.

Since `SourceDistributionBuilder` is stateless, we instead store the
builds on `BuildContext`, and we key them by various properties: the
underlying interpreter, the configuration settings, etc. This just
ensures that if we build the same package twice within a process, we
don't accidentally reuse an incompatible build (virtual) environment.
(Note that still drop build environments at the end of the command, and
don't attempt to reuse them across processes.)

Closes #14269.
2025-07-01 13:15:47 -04:00
..
src Reuse build (virtual) environments across resolution and installation (#14338) 2025-07-01 13:15:47 -04:00
.gitignore Rename `uv-build` to `uv-build-frontend` (#7688) 2024-09-25 14:17:54 -04:00
Cargo.toml Lock the source tree when running setuptools, to protect concurrent builds 2025-06-26 12:28:15 -07:00