Skip to content

Conversation

@charliermarsh
Copy link
Member

Summary

If we're looking at (e.g.) python3.12, and we have a requires-python: ">=3.12.7, <3.13", then checking if the range includes 3.12 will return false. Instead, we need to look at the lower- and upper-bound major-minors of the requires-python.

Closes #11825.

@charliermarsh charliermarsh requested a review from zanieb March 4, 2025 15:12
@charliermarsh charliermarsh added the bug Something isn't working label Mar 4, 2025
@charliermarsh charliermarsh marked this pull request as draft March 4, 2025 15:15
@charliermarsh charliermarsh marked this pull request as ready for review March 4, 2025 15:16
Copy link
Member

@zanieb zanieb left a comment

Choose a reason for hiding this comment

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

Can you add a python_find test case?

Base automatically changed from charlie/bounds to main March 4, 2025 17:35
@charliermarsh charliermarsh force-pushed the charlie/rels branch 2 times, most recently from fe1ebb5 to ebe5820 Compare March 4, 2025 18:14
Comment on lines 675 to 677
let path =
String::from_utf8(context.python_find().arg("3.11").output().unwrap().stdout).unwrap();
let path = Path::new(path.trim());
Copy link
Member

Choose a reason for hiding this comment

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

You can use context.python_versions.first().unwrap().1

Copy link
Member Author

Choose a reason for hiding this comment

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

Great, thank you!

[project]
name = "project"
version = "0.1.0"
requires-python = ">=3.11.4, <3.12"
Copy link
Member

Choose a reason for hiding this comment

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

As a note, you can just use this in python find directly instead of using a pyproject.toml to avoid indirection. I don't have strong feelings otherwise.

Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks!

@charliermarsh charliermarsh enabled auto-merge (squash) March 4, 2025 23:20
@charliermarsh charliermarsh merged commit 3a53ec3 into main Mar 4, 2025
73 checks passed
@charliermarsh charliermarsh deleted the charlie/rels branch March 4, 2025 23:29
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Mar 10, 2025
This MR contains the following updates:

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

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.6.5`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#065)

[Compare Source](astral-sh/uv@0.6.4...0.6.5)

##### Enhancements

-   Allow `--constraints` and `--overrides` in `uvx` ([#&#8203;10207](astral-sh/uv#10207))
-   Allow overrides in `satisfies` check for `uv tool run` ([#&#8203;11994](astral-sh/uv#11994))
-   Allow users to set `package = true` on `tool.uv.sources` ([#&#8203;12014](astral-sh/uv#12014))
-   Add support for Windows legacy scripts via `uv run` ([#&#8203;11888](astral-sh/uv#11888))
-   Return error when running uvx with a `.py` script ([#&#8203;11623](astral-sh/uv#11623))
-   Warn user on use of `uvx run` ([#&#8203;11992](astral-sh/uv#11992))

##### Configuration

-   Add `NO_BUILD` and `NO_BUILD_PACKAGE` environment variables ([#&#8203;11968](astral-sh/uv#11968))

##### Performance

-   Allow overrides in all satisfies checks ([#&#8203;11995](astral-sh/uv#11995))
-   Respect markers on constraints when validating current environment ([#&#8203;11976](astral-sh/uv#11976))

##### Bug fixes

-   Compare major-minor specifiers when filtering interpreters ([#&#8203;11952](astral-sh/uv#11952))
-   Fix system site packages detection default ([#&#8203;11956](astral-sh/uv#11956))
-   Invalidate lockfile when empty dependency groups are added or removed ([#&#8203;12010](astral-sh/uv#12010))
-   Remove prepended sys.path ([#&#8203;11954](astral-sh/uv#11954))
-   Fix PyPy Python version label ([#&#8203;11965](astral-sh/uv#11965))
-   Fix error message suggesting `--user` instead of `--username` ([#&#8203;11947](astral-sh/uv#11947))

##### Preview

-   Move the uv build backend into a separate, minimal `uv_build` package ([#&#8203;11446](astral-sh/uv#11446))

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

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants