Skip to content

[pull] main from astral-sh:main#51

Merged
pull[bot] merged 3 commits into
Moshbbab:mainfrom
astral-sh:main
Jun 23, 2026
Merged

[pull] main from astral-sh:main#51
pull[bot] merged 3 commits into
Moshbbab:mainfrom
astral-sh:main

Conversation

@pull

@pull pull Bot commented Jun 23, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

charliermarsh and others added 3 commits June 23, 2026 09:48
## Summary

Prior to this change, the lazy resolver copied every version from cached
simple-index metadata into a `BTreeMap` and eagerly deserialized all
per-version core metadata. This duplicated version-key storage and
materialized metadata for versions the resolver might never inspect.

This stores lazy entries in a compact immutable vector that preserves
archive order. Exact lookups use binary search, ranges use partition
points, sorted flat-index entries merge in one pass, and registry
metadata is deserialized only when requested. `SimpleDetailMetadata`
already constructs versions in sorted, unique order, and debug builds
assert that invariant at the conversion boundary.

## Benchmark

On the feature-disabled warm Jupyter resolver benchmark, the median
improved from 15.702 ms to 14.953 ms (4.769% faster). All three paired
treatment rounds were faster, with a paired bootstrap 95% interval of
3.822% to 5.976% faster. The universal benchmark improved by 1.476%, and
canonical resolver output was identical throughout.

---------

Co-authored-by: Charlie Marsh <charliemarsh@openai.com>
Automated update for Python releases.

Co-authored-by: jjhelmus <1050278+jjhelmus@users.noreply.github.com>
## Summary

Prior to this change, `uv tool install` removed a newly created tool
environment when entrypoint finalization failed, but left executables
that had already been installed from additional packages. A missing root
distribution also surfaced as an internal context error without cleaning
up the environment or those entrypoints.

This tracks installed entrypoint paths independently of the final tool
receipt and removes them on the affected fatal paths before deleting the
environment. Missing root distributions now use the existing
no-executables diagnostic and the same cleanup behavior.

The regression coverage uses `exclude-dependencies` to trigger the
missing-root path after installing executables from an additional
package, then verifies that both the environment and executables are
removed. This fix was split from #18937 because it is independent of
tool locks.
@pull pull Bot locked and limited conversation to collaborators Jun 23, 2026
@pull pull Bot added the ⤵️ pull label Jun 23, 2026
@pull pull Bot merged commit 4513bd8 into Moshbbab:main Jun 23, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant