uv/crates/uv-distribution/src
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
..
index Bump MSRV to 1.85 and Edition 2024 (#13516) 2025-05-18 19:38:43 -04:00
metadata Avoid using path URL for workspace Git dependencies in `requirements.txt` (#14288) 2025-06-26 19:48:12 +00:00
source Reuse build (virtual) environments across resolution and installation (#14338) 2025-07-01 13:15:47 -04:00
archive.rs Bump MSRV to 1.85 and Edition 2024 (#13516) 2025-05-18 19:38:43 -04:00
distribution_database.rs Show retries for HTTP status code errors (#13897) 2025-06-16 10:14:00 +00:00
download.rs Use `Box<Path>` in lieu of `PathBuf` for immutable structs (#12346) 2025-03-25 21:56:06 +00:00
error.rs Reuse build (virtual) environments across resolution and installation (#14338) 2025-07-01 13:15:47 -04:00
lib.rs Support reading dependency-groups from pyproject.tomls with no project (#13742) 2025-06-13 22:16:48 +00:00
reporter.rs Add `DisplaySafeUrl` newtype to prevent leaking of credentials by default (#13560) 2025-05-27 00:05:30 +02:00