Files
astral-ruff/python/ruff
Zanie Blue d537f03d59 Update the Python module (notably find_ruff_bin) for parity with uv (#23406)
Closes https://github.com/astral-sh/uv/issues/14874
Closes https://github.com/astral-sh/ruff/issues/23402

uv has fairly extensive test coverage for this functionality but it
seems challenging to copy it over

My smoke test strategy was to ask an LLM to build the wheel and test all
of the cases

```
$ uv build --wheel
Building wheel...
Successfully built dist/ruff-0.15.1-py3-none-macosx_11_0_arm64.whl

$ WHEEL=dist/ruff-0.15.1-py3-none-macosx_11_0_arm64.whl

$ uv venv -q .smoke-venv && uv pip install -q --python .smoke-venv $WHEEL
$ .smoke-venv/bin/python -c "from ruff import find_ruff_bin; print(find_ruff_bin())"
/Users/zb/workspace/ruff/.smoke-venv/bin/ruff

$ .smoke-venv/bin/python -m ruff version
ruff 0.15.1+81 (1e42d4f11 2026-02-18)

$ uv run --no-project --with $WHEEL -- python -c "from ruff import find_ruff_bin; print(find_ruff_bin())"
/Users/zb/.cache/uv/archive-v0/zf7_vNji2jmEGEDox-9Vj/bin/ruff

$ uv run --no-project --with $WHEEL -- python -m ruff version
ruff 0.15.1+81 (1e42d4f11 2026-02-18)

$ uv pip install --target .smoke-target $WHEEL
$ PYTHONPATH=.smoke-target python3 -c "from ruff import find_ruff_bin; print(find_ruff_bin())"
/Users/zb/workspace/ruff/.smoke-target/bin/ruff

$ uv pip install --prefix .smoke-prefix $WHEEL
$ PYTHONPATH=.smoke-prefix/lib/python3.14/site-packages python3 -c "from ruff import find_ruff_bin; print(find_ruff_bin())"
/Users/zb/workspace/ruff/.smoke-prefix/bin/ruff

$ python3 -m pip install --user --break-system-packages $WHEEL                                                                                                                        
$ python3 -c "from ruff import find_ruff_bin; print(find_ruff_bin())"                                                                                                                                             
/Users/zb/Library/Python/3.13/bin/ruff                                                                                                                                                                            
                                                                                                                                                                                                                  
$ python3 -m ruff version                                                                                                                                                                                         
ruff 0.15.1+81 (1e42d4f11 2026-02-18)   
```
2026-02-20 13:18:57 +00:00
..