Skip to content

Use shutil.which for the build backend #10028

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Dec 20, 2024
Merged

Use shutil.which for the build backend #10028

merged 2 commits into from
Dec 20, 2024

Conversation

konstin
Copy link
Member

@konstin konstin commented Dec 19, 2024

From PEP 517:

All command-line scripts provided by the build-required packages must be present in the build environment’s PATH. For example, if a project declares a build-requirement on flit, then the following must work as a mechanism for running the flit command-line tool:

import subprocess
import shutil
subprocess.check_call([shutil.which("flit"), ...])

Fixes #9991

From PEP 517:

> All command-line scripts provided by the build-required packages must be present in the build environment’s PATH. For example, if a project declares a build-requirement on flit, then the following must work as a mechanism for running the flit command-line tool:
>
> ```python
> import subprocess
> import shutil
> subprocess.check_call([shutil.which("flit"), ...])
> ```

Fixes #9991
@konstin konstin added bug Something isn't working preview Experimental behavior labels Dec 19, 2024
Co-authored-by: Charles Tapley Hoyt <[email protected]>
@konstin konstin merged commit ff86029 into main Dec 20, 2024
64 checks passed
@konstin konstin deleted the konsti/which-uv branch December 20, 2024 09:15
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Dec 28, 2024
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.5.11` -> `0.5.13` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>astral-sh/uv (astral-sh/uv)</summary>

### [`v0.5.13`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0513)

[Compare Source](astral-sh/uv@0.5.12...0.5.13)

##### Bug fixes

-   Avoid enforcing URL check on initial publish ([#&#8203;10182](astral-sh/uv#10182))
-   Fix incorrect mismatched constraints reference ([#&#8203;10184](astral-sh/uv#10184))
-   Revert "Update `reqwest` ([#&#8203;10178](astral-sh/uv#10178))" ([#&#8203;10187](astral-sh/uv#10187))

### [`v0.5.12`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0512)

[Compare Source](astral-sh/uv@0.5.11...0.5.12)

##### Enhancements

-   Support `uv export` for non-project workspaces ([#&#8203;10144](astral-sh/uv#10144))
-   Set glibc versions for standalone installers ([#&#8203;10142](astral-sh/uv#10142))
-   Allow environment variables to be included in cache keys ([#&#8203;10170](astral-sh/uv#10170))

##### Preview features

-   Include extras in `uv-build` `Requires-Dist` metadata ([#&#8203;10110](astral-sh/uv#10110))
-   Use `shutil.which` for the build backend ([#&#8203;10028](astral-sh/uv#10028))

##### Bug fixes

-   Always write slash paths to RECORD file ([#&#8203;10164](astral-sh/uv#10164))
-   Add support for subdirectories in direct URLs in `uv.lock` ([#&#8203;10068](astral-sh/uv#10068))
-   Avoid duplicating backslashes in sysconfig parser ([#&#8203;10063](astral-sh/uv#10063))
-   Avoid erroring when subdirectories are provided in `uv add` ([#&#8203;10095](astral-sh/uv#10095))
-   Backtrack to non-local versions when wheels are missing platform support ([#&#8203;10046](astral-sh/uv#10046))
-   Fix mirror script to handle newer metadata format ([#&#8203;10050](astral-sh/uv#10050))
-   Preserve sort when deciding on requirement placement ([#&#8203;10078](astral-sh/uv#10078))
-   Remove redundant alias in `uv init` CLI ([#&#8203;10124](astral-sh/uv#10124))
-   Respect sources credentials in non-project workspaces ([#&#8203;10125](astral-sh/uv#10125))
-   Show non-project dependencies in `uv tree` ([#&#8203;10149](astral-sh/uv#10149))
-   Strip fragment when storing direct URL ([#&#8203;10093](astral-sh/uv#10093))
-   Include hashes for local source archives ([#&#8203;10080](astral-sh/uv#10080))

##### Documentation

-   Fix invalid syntax in some sources examples ([#&#8203;10127](astral-sh/uv#10127))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS44Mi45IiwidXBkYXRlZEluVmVyIjoiMzkuODMuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
cthoyt added a commit to cthoyt/cookiecutter-snekpack that referenced this pull request Jan 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working preview Experimental behavior
Projects
None yet
Development

Successfully merging this pull request may close these issues.

build backend: find_uv_bin fails with pip
3 participants