Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: tox-dev/python-discovery
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 1.4.1
Choose a base ref
...
head repository: tox-dev/python-discovery
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 1.4.2
Choose a head ref
  • 2 commits
  • 3 files changed
  • 2 contributors

Commits on Jun 11, 2026

  1. 🐛 fix: stop symlink resolution at stdlib landmark and framework builds (

    #87)
    
    The resolution added in #84 follows every symlink hop of the executable.
    pypa/virtualenv CI caught two unwanted consequences on its
    `brew@3.12`/`brew@3.13` jobs: Homebrew's `/opt/homebrew/bin/python3.12`
    resolves through the version-pinned `Cellar/python@3.12/<version>`
    directory, so the recorded `home` breaks on `brew upgrade` and the base
    site-packages shows up in created environments under a `Cellar` alias
    that no longer matches the interpreter's own reported paths. 🐛 Stable
    distro aliases such as Debian's `/usr/bin/python3` were also rewritten
    to the versioned binary for no benefit.
    
    Real `getpath` only follows the executable symlink while the stdlib
    landmark is missing beside it, so the walk now stops as soon as
    `<dir>/../lib(64)/pythonX.Y/os.py` is reachable, and macOS framework
    builds skip resolution entirely since they self-locate through the real
    binary via `dyld` at runtime. The pypa/virtualenv#3157 scenario, a
    symlink in a directory with no installation around it, keeps resolving
    to the real interpreter exactly as before, verified against both a
    python-build-standalone interpreter and a Homebrew one where created
    environments now match the pre-#84 layout byte for byte.
    
    Fixes #86.
    gaborbernat authored Jun 11, 2026
    Configuration menu
    Copy the full SHA
    4f6132b View commit details
    Browse the repository at this point in the history
  2. release 1.4.2

    gaborbernat committed Jun 11, 2026
    Configuration menu
    Copy the full SHA
    ca8d938 View commit details
    Browse the repository at this point in the history
Loading