Repository navigation
🐛 fix(spec): enumerate free-threaded and debug builds on PATH - #181
Merged
gaborbernat merged 4 commits intoNov 2, 2026
Merged
Conversation
iter_interpreters() with no spec skipped PATH entries such as python3.13t, python3.13d and python3.13-dbg. generate_re only added the t and debug suffixes when the spec asked for that build, and the empty spec used for enumeration leaves both flags unset, so the wide pattern matched python3.13 alone. On Linux a distribution's free-threaded or debug build is usually found only through PATH, so an "all interpreters" call missed it, while the same call did list uv's +freethreaded and +debug installs. In wide mode a flag the spec leaves unset now makes its suffix optional, and the spec match still decides what is yielded. get_interpreter and a spec passed to iter_interpreters keep the narrow pattern, so a lookup for 3.13 does not start picking python3.13d over python3.13.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Listing interpreters with no spec could omit free-threaded and debug executables on
PATH. Those builds now appear alongside managed installs.The name matcher recognizes variant suffixes during enumeration. Lookups with a spec retain the narrow name search, and interpreter metadata determines whether each candidate qualifies.