Skip to content

Conversation

@terror
Copy link
Contributor

@terror terror commented Nov 15, 2025

Resolves #16732

This diff treats extensionless files that contain PEP 723 metadata as scripts when resolving --with-requirements, so inline metadata works even when the script doesn’t end in .py.

@terror terror changed the title Allow --with-requirements to load extensionless inline-metadata scr… Allow --with-requirements to load extensionless inline-metadata scripts Nov 15, 2025
source.path().user_display(),
));
}
Err(Pep723Error::Io(err)) if err.kind() == std::io::ErrorKind::NotFound => {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Haven't checked the rest properly yet, but the if err.kind() == std::io::ErrorKind::NotFound branches should be handled by fs_err already.

@charliermarsh charliermarsh force-pushed the with-req-inline-metadata branch from be67293 to fbc3cdc Compare November 21, 2025 02:22
@charliermarsh charliermarsh force-pushed the with-req-inline-metadata branch from fbc3cdc to 0d5edec Compare November 21, 2025 02:23
@charliermarsh charliermarsh enabled auto-merge (squash) November 21, 2025 02:24
@charliermarsh charliermarsh added the enhancement New feature or improvement to existing functionality label Nov 21, 2025
@charliermarsh charliermarsh merged commit f3cdfac into astral-sh:main Nov 21, 2025
99 of 101 checks passed
@samypr100
Copy link
Collaborator

Seems like more tests needed an update as there are legit test failures happening in main now

@charliermarsh
Copy link
Member

Broke them with a late commit, though I swear I saw the Linux tests pass before I merged. I'll revert and fix tomorrow (#16802).

charliermarsh added a commit that referenced this pull request Nov 21, 2025
…data scripts" (#16802)

Reverts #16744. I'll un-revert and fix tomorrow.
zanieb added a commit that referenced this pull request Nov 26, 2025
…data scripts" (#16861)

Reverts #16805 /
#16744

This also invalidates

- #16855
- #16857 

There's probably a way we can make this work, but detecting whether a
file is safe to read repeatedly is non-trivial, `is_file` returns `true`
for `/dev/stdin` on macOS so the approach from #16857 is not sufficient.
I spent a while trying to add `is_char_device` detection for macOS but
unfortunately that didn't work.
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Nov 27, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.9.11` -> `0.9.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.9.13`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0913)

[Compare Source](astral-sh/uv@0.9.12...0.9.13)

Released on 2025-11-26.

##### Bug fixes

- Revert "Allow `--with-requirements` to load extensionless inline-metadata scripts" to fix reading of requirements files from streams ([#&#8203;16861](astral-sh/uv#16861))
- Validate URL wheel tags against `Requires-Python` and required environments ([#&#8203;16824](astral-sh/uv#16824))

##### Documentation

- Drop unpublished crates from the uv crates.io README ([#&#8203;16847](astral-sh/uv#16847))
- Fix the links to uv in crates.io member READMEs ([#&#8203;16848](astral-sh/uv#16848))

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

[Compare Source](astral-sh/uv@0.9.11...0.9.12)

Released on 2025-11-24.

##### Enhancements

- Allow `--with-requirements` to load extensionless inline-metadata scripts ([#&#8203;16744](astral-sh/uv#16744))
- Collect and upload PEP 740 attestations during `uv publish` ([#&#8203;16731](astral-sh/uv#16731))
- Prevent `uv export` from overwriting `pyproject.toml` ([#&#8203;16745](astral-sh/uv#16745))

##### Documentation

- Add a crates.io README for uv ([#&#8203;16809](astral-sh/uv#16809))
- Add documentation for intermediate Docker layers in a workspace ([#&#8203;16787](astral-sh/uv#16787))
- Enumerate workspace members in the uv crate README ([#&#8203;16811](astral-sh/uv#16811))
- Fix documentation links for crates ([#&#8203;16801](astral-sh/uv#16801))
- Generate a crates.io README for uv workspace members ([#&#8203;16812](astral-sh/uv#16812))
- Move the "Export" guide to the projects concept section ([#&#8203;16835](astral-sh/uv#16835))
- Update the cargo install recommendation to use crates ([#&#8203;16800](astral-sh/uv#16800))
- Use the word "internal" in crate descriptions ([#&#8203;16810](astral-sh/uv#16810))

</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:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xOS43IiwidXBkYXRlZEluVmVyIjoiNDIuMjEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or improvement to existing functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

--with-requirements script doesn't work if script doesn't end with .py

4 participants