Skip to content

Conversation

@konstin
Copy link
Member

@konstin konstin commented Feb 6, 2025

Given an input in the shape:

foo[bar]==1.0.0; sys_platform == 'linux'
foo==1.0.0; sys_platform != 'linux'

We would write either

foo==1.0.0; sys_platform == 'linux'

or

foo==1.0.0

depending on the iteration order, as the first one is from the marker proxy package and the second one from the package without marker.

The fix correctly merges graph entries when there are two nodes with different extras and different markers.

I tried to write a packse test but it failed due to a different iteration order showing the correct case directly instead of the failing one we'd need.

Only strip_extras is affected, since combine_extras uses version_marker.

Given an input in the shape:

```
foo[bar]==1.0.0; sys_platform == 'linux'
foo==1.0.0; sys_platform != 'linux'
```

We would write either

```
foo==1.0.0; sys_platform == 'linux'
```
or
```
foo==1.0.0
```

depending on the iteration order, as the first one is from the marker proxy package and the second one from the package without marker.

The fix correctly merges graph entries when there are two nodes with different extras and different markers.

I tried to write a packse test but it failed due to a different iteration order showing the correct case directly.
@konstin konstin added the bug Something isn't working label Feb 6, 2025
@konstin konstin requested a review from charliermarsh February 6, 2025 21:21
@konstin konstin merged commit 5493def into main Feb 6, 2025
73 checks passed
@konstin konstin deleted the konsti/fix-marker-merging branch February 6, 2025 21:31
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Feb 11, 2025
This MR contains the following updates:

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

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

[Compare Source](astral-sh/uv@0.5.29...0.5.30)

##### Python

The managed PyPy distributions have been updated for PyPy v7.3.18, which includes:

-   PyPy3.10, which updates the standard library from Python 3.10.14 to 3.10.19
-   PyPy3.11, which adds beta support for Python 3.11.11

See the [PyPy release](https://pypy.org/posts/2025/02/pypy-v7318-release.html) for more details.

##### Enhancements

-   Add `uv sync --dry-run` ([#&#8203;11299](astral-sh/uv#11299))
-   Ignore `#egg` fragment in HTML Simple API response ([#&#8203;11340](astral-sh/uv#11340))

##### Configuration

-   Add `NO_BINARY` and `NO_BINARY_PACKAGE` environment variables ([#&#8203;11399](astral-sh/uv#11399))

##### Performance

-   Avoid re-cloning name when populating ambiguous set ([#&#8203;11401](astral-sh/uv#11401))
-   Optimize flattening in large workspaces ([#&#8203;11313](astral-sh/uv#11313))

##### Bug fixes

-   Allow dynamic packages to be overloaded ([#&#8203;11400](astral-sh/uv#11400))
-   Fix credential caching for index roots when URL ends in `simple/` ([#&#8203;11336](astral-sh/uv#11336))
-   Fix marker merging for requirements.txt for psycopg ([#&#8203;11298](astral-sh/uv#11298))
-   Set 777 permissions on locked files ([#&#8203;11328](astral-sh/uv#11328))
-   Support extras in `@` requests for tools ([#&#8203;11335](astral-sh/uv#11335))
-   Upgrade `astral-tokio-tar` to v0.5.1 ([#&#8203;11359](astral-sh/uv#11359))
-   Avoid missing logging for no-op upgrade events ([#&#8203;11301](astral-sh/uv#11301))
-   Use refined specifiers when logging narrowed Python range ([#&#8203;11334](astral-sh/uv#11334))
-   Don't use popup-generating `eprintln` in trampoline warnings ([#&#8203;11295](astral-sh/uv#11295))
-   Patch pkg-config files to be relocatable ([#&#8203;11291](astral-sh/uv#11291))
-   Fix a case of duplicate `torch` packages when using conflicting extras ([#&#8203;11323](astral-sh/uv#11323))

##### Documentation

-   Add docs for `uv tool install --editable` ([#&#8203;11280](astral-sh/uv#11280))
-   Fix broken anchors in README and docs index ([#&#8203;11338](astral-sh/uv#11338))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNjQuMSIsInVwZGF0ZWRJblZlciI6IjM5LjE2NC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
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