Fix subtest reruns with structured NodeId keys - #363
Merged
icemac merged 2 commits intoSep 8, 2026
Merged
Conversation
icemac
approved these changes
Sep 8, 2026
Contributor
|
Thank you for this PR. 😃 |
lukasmasuch
pushed a commit
to streamlit/streamlit
that referenced
this pull request
Sep 21, 2026
…roup (#17052) Bumps the python-testing group with 1 update: [pytest-rerunfailures](https://github.com/pytest-dev/pytest-rerunfailures). Updates `pytest-rerunfailures` from 16.6.1 to 16.7 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-rerunfailures/blob/master/CHANGES.rst">pytest-rerunfailures's changelog</a>.</em></p> <blockquote> <h2>16.7 (2026-09-17)</h2> <p>Features ++++++++</p> <ul> <li>Allow configuring <code>only_rerun</code> regular expressions in <code>pytest.ini</code> files. (<code>[#165](pytest-dev/pytest-rerunfailures#165) <https://github.com/pytest-dev/pytest-rerunfailures/issues/165></code>_)</li> <li>Show each rerun attempt and its final outcome in the rerun test summary info section. (<code>[#191](pytest-dev/pytest-rerunfailures#191) <https://github.com/pytest-dev/pytest-rerunfailures/issues/191></code>_)</li> <li>Allow flaky marker conditions to inspect the exception that caused a failed test phase, including when running with pytest-xdist. (<code>[#230](pytest-dev/pytest-rerunfailures#230) <https://github.com/pytest-dev/pytest-rerunfailures/issues/230></code>_)</li> </ul> <p>Bug Fixes +++++++++</p> <ul> <li>Match <code>only_rerun</code> against the full exception chain (<code>__cause__</code> and <code>__context__</code>), not only the outermost exception. Match <code>rerun_except</code> against explicit <code>__cause__</code> links only, so implicit <code>except</code> / <code>finally</code> context does not suppress reruns. (<code>[#353](pytest-dev/pytest-rerunfailures#353) <https://github.com/pytest-dev/pytest-rerunfailures/issues/353></code>_)</li> <li>Fix <code>INTERNALERROR</code> when <code>only_rerun</code> or <code>rerun_except</code> is given a bare exception class instead of a list. (<code>[#362](pytest-dev/pytest-rerunfailures#362) <https://github.com/pytest-dev/pytest-rerunfailures/issues/362></code>_)</li> <li>Fix subtest reruns with newer pytest versions that use structured <code>NodeId</code> values internally. (<code>[#363](pytest-dev/pytest-rerunfailures#363) <https://github.com/pytest-dev/pytest-rerunfailures/issues/363></code>_)</li> <li>Mark teardown failures from an attempt that is rerun as reruns, so a later successful attempt is not reported as an error. (<code>[#366](pytest-dev/pytest-rerunfailures#366) <https://github.com/pytest-dev/pytest-rerunfailures/issues/366></code>_)</li> </ul> <p>Misc ++++</p> <ul> <li>Keep the test suite passing when pytest-randomly is installed, including when the outer pytest is started with <code>-p no:randomly</code>. (<code>[#218](pytest-dev/pytest-rerunfailures#218) <https://github.com/pytest-dev/pytest-rerunfailures/issues/218></code>_)</li> <li>Test the free-threaded Python 3.14 build in CI, via a new <code>py314t</code> tox environment and a matching workflow job. (<code>[#361](pytest-dev/pytest-rerunfailures#361) <https://github.com/pytest-dev/pytest-rerunfailures/issues/361></code>_)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/fead4c656301dae378897a10b8e8998e52d6bb2c"><code>fead4c6</code></a> Preparing release 16.7</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/ed62cfc3cafafc6d71bc97a9488cfa9f6601affb"><code>ed62cfc</code></a> Show each rerun attempt outcome in summary (<a href="https://redirect.github.com/pytest-dev/pytest-rerunfailures/issues/370">#370</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/64687c9511133582d6647f3864eb111c8d52f93a"><code>64687c9</code></a> Add pytest.ini support for only_rerun (<a href="https://redirect.github.com/pytest-dev/pytest-rerunfailures/issues/369">#369</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/1997015a4b7f334a5b2f55a2c953d5954ab53fce"><code>1997015</code></a> Preserve rerun status for teardown failures (<a href="https://redirect.github.com/pytest-dev/pytest-rerunfailures/issues/367">#367</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/4220386e845dafeec8ef2261ae31c33b54f2431a"><code>4220386</code></a> Match only_rerun against wrapped exception causes (<a href="https://redirect.github.com/pytest-dev/pytest-rerunfailures/issues/364">#364</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/87d81b2b0924a9c59a729826cd19c0e1b285a93f"><code>87d81b2</code></a> Keep nested pytester sessions isolated from pytest-randomly (<a href="https://redirect.github.com/pytest-dev/pytest-rerunfailures/issues/368">#368</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/be14a6bd94ec3da02a7ddfd20e5a7364188f587d"><code>be14a6b</code></a> Allow flaky conditions to inspect failure exceptions (<a href="https://redirect.github.com/pytest-dev/pytest-rerunfailures/issues/365">#365</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/78561a50e6b1afdca9c937d109750001599ff76d"><code>78561a5</code></a> ci: test the free-threaded Python 3.14 build (<a href="https://redirect.github.com/pytest-dev/pytest-rerunfailures/issues/361">#361</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/402afb4a4197de7a8f827b84f11a15f0b4ab1cdc"><code>402afb4</code></a> Fix bare exception class in only_rerun / rerun_except causing INTERNALERROR (...</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/87a8b47de931f859712a1496dc49ac6a5aeba41d"><code>87a8b47</code></a> Fix subtest reruns with structured NodeId keys (<a href="https://redirect.github.com/pytest-dev/pytest-rerunfailures/issues/363">#363</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-rerunfailures/compare/16.6.1...16.7">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Lockfile-only upgrade of a dev/CI pytest plugin; no production code changes, though CI flaky-test retry and reporting behavior may shift slightly. > > **Overview** > Updates the **python-testing** dependency lock so **pytest-rerunfailures** resolves to **16.7** instead of **16.6.1** (sdist/wheel URLs and hashes in `uv.lock` only). > > That release mainly improves pytest rerun behavior used in CI (`--reruns` on Playwright jobs): configurable `only_rerun` in `pytest.ini`, clearer per-attempt summary output, flaky conditions that can inspect failure exceptions (including with xdist), and fixes for exception-chain matching, bare exception classes causing `INTERNALERROR`, subtest reruns with newer pytest, and teardown failures on retried attempts. > > <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit d459911. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup> <!-- /CURSOR_SUMMARY --> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
svazquezco
added a commit
to softwareone-platform/mpt-api-python-client
that referenced
this pull request
Sep 21, 2026
Bumps the python-development group with 3 updates: [pytest-rerunfailures](https://github.com/pytest-dev/pytest-rerunfailures), [ruff](https://github.com/astral-sh/ruff) and [wemake-python-styleguide](https://github.com/wemake-services/wemake-python-styleguide). Updates `pytest-rerunfailures` from 16.6.1 to 16.7 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-rerunfailures/blob/master/CHANGES.rst">pytest-rerunfailures's changelog</a>.</em></p> <blockquote> <h2>16.7 (2026-09-17)</h2> <p>Features ++++++++</p> <ul> <li>Allow configuring <code>only_rerun</code> regular expressions in <code>pytest.ini</code> files. (<code>[#165](pytest-dev/pytest-rerunfailures#165) <https://github.com/pytest-dev/pytest-rerunfailures/issues/165></code>_)</li> <li>Show each rerun attempt and its final outcome in the rerun test summary info section. (<code>[#191](pytest-dev/pytest-rerunfailures#191) <https://github.com/pytest-dev/pytest-rerunfailures/issues/191></code>_)</li> <li>Allow flaky marker conditions to inspect the exception that caused a failed test phase, including when running with pytest-xdist. (<code>[#230](pytest-dev/pytest-rerunfailures#230) <https://github.com/pytest-dev/pytest-rerunfailures/issues/230></code>_)</li> </ul> <p>Bug Fixes +++++++++</p> <ul> <li>Match <code>only_rerun</code> against the full exception chain (<code>__cause__</code> and <code>__context__</code>), not only the outermost exception. Match <code>rerun_except</code> against explicit <code>__cause__</code> links only, so implicit <code>except</code> / <code>finally</code> context does not suppress reruns. (<code>[#353](pytest-dev/pytest-rerunfailures#353) <https://github.com/pytest-dev/pytest-rerunfailures/issues/353></code>_)</li> <li>Fix <code>INTERNALERROR</code> when <code>only_rerun</code> or <code>rerun_except</code> is given a bare exception class instead of a list. (<code>[#362](pytest-dev/pytest-rerunfailures#362) <https://github.com/pytest-dev/pytest-rerunfailures/issues/362></code>_)</li> <li>Fix subtest reruns with newer pytest versions that use structured <code>NodeId</code> values internally. (<code>[#363](pytest-dev/pytest-rerunfailures#363) <https://github.com/pytest-dev/pytest-rerunfailures/issues/363></code>_)</li> <li>Mark teardown failures from an attempt that is rerun as reruns, so a later successful attempt is not reported as an error. (<code>[#366](pytest-dev/pytest-rerunfailures#366) <https://github.com/pytest-dev/pytest-rerunfailures/issues/366></code>_)</li> </ul> <p>Misc ++++</p> <ul> <li>Keep the test suite passing when pytest-randomly is installed, including when the outer pytest is started with <code>-p no:randomly</code>. (<code>[#218](pytest-dev/pytest-rerunfailures#218) <https://github.com/pytest-dev/pytest-rerunfailures/issues/218></code>_)</li> <li>Test the free-threaded Python 3.14 build in CI, via a new <code>py314t</code> tox environment and a matching workflow job. (<code>[#361](pytest-dev/pytest-rerunfailures#361) <https://github.com/pytest-dev/pytest-rerunfailures/issues/361></code>_)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/fead4c656301dae378897a10b8e8998e52d6bb2c"><code>fead4c6</code></a> Preparing release 16.7</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/ed62cfc3cafafc6d71bc97a9488cfa9f6601affb"><code>ed62cfc</code></a> Show each rerun attempt outcome in summary (<a href="https://redirect.github.com/pytest-dev/pytest-rerunfailures/issues/370">#370</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/64687c9511133582d6647f3864eb111c8d52f93a"><code>64687c9</code></a> Add pytest.ini support for only_rerun (<a href="https://redirect.github.com/pytest-dev/pytest-rerunfailures/issues/369">#369</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/1997015a4b7f334a5b2f55a2c953d5954ab53fce"><code>1997015</code></a> Preserve rerun status for teardown failures (<a href="https://redirect.github.com/pytest-dev/pytest-rerunfailures/issues/367">#367</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/4220386e845dafeec8ef2261ae31c33b54f2431a"><code>4220386</code></a> Match only_rerun against wrapped exception causes (<a href="https://redirect.github.com/pytest-dev/pytest-rerunfailures/issues/364">#364</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/87d81b2b0924a9c59a729826cd19c0e1b285a93f"><code>87d81b2</code></a> Keep nested pytester sessions isolated from pytest-randomly (<a href="https://redirect.github.com/pytest-dev/pytest-rerunfailures/issues/368">#368</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/be14a6bd94ec3da02a7ddfd20e5a7364188f587d"><code>be14a6b</code></a> Allow flaky conditions to inspect failure exceptions (<a href="https://redirect.github.com/pytest-dev/pytest-rerunfailures/issues/365">#365</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/78561a50e6b1afdca9c937d109750001599ff76d"><code>78561a5</code></a> ci: test the free-threaded Python 3.14 build (<a href="https://redirect.github.com/pytest-dev/pytest-rerunfailures/issues/361">#361</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/402afb4a4197de7a8f827b84f11a15f0b4ab1cdc"><code>402afb4</code></a> Fix bare exception class in only_rerun / rerun_except causing INTERNALERROR (...</li> <li><a href="https://github.com/pytest-dev/pytest-rerunfailures/commit/87a8b47de931f859712a1496dc49ac6a5aeba41d"><code>87a8b47</code></a> Fix subtest reruns with structured NodeId keys (<a href="https://redirect.github.com/pytest-dev/pytest-rerunfailures/issues/363">#363</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-rerunfailures/compare/16.6.1...16.7">compare view</a></li> </ul> </details> <br /> Updates `ruff` from 0.16.7 to 0.16.8 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/ruff/releases">ruff's releases</a>.</em></p> <blockquote> <h2>0.16.8</h2> <h2>Release Notes</h2> <p>Released on 2026-09-16.</p> <h3>Bug fixes</h3> <ul> <li>Visit functional <code>TypedDict</code> keyword arguments correctly (<a href="https://redirect.github.com/astral-sh/ruff/pull/28584">#28584</a>)</li> <li>[<code>flake8-simplify</code>] Detect nested <code>async with</code> under sync parent (<code>SIM117</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/27821">#27821</a>)</li> <li>[<code>flake8-simplify</code>] Preserve operand order in <code>SIM109</code> fix (<a href="https://redirect.github.com/astral-sh/ruff/pull/27824">#27824</a>)</li> <li>[<code>pyupgrade</code>] Preserve required parentheses in multiline <code>UP040</code> fixes (<a href="https://redirect.github.com/astral-sh/ruff/pull/28164">#28164</a>)</li> <li>[<code>pyupgrade</code>] Skip <code>TypeVarTuple</code> and <code>ParamSpec</code> conversions with bounds or constraints (<code>UP040</code>, <code>UP046</code>, <code>UP047</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28505">#28505</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>Add support for <code>__lazy_modules__</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/28459">#28459</a>)</li> <li>Recognize PEP-728 <code>TypedDict</code> class keywords (<a href="https://redirect.github.com/astral-sh/ruff/pull/28533">#28533</a>)</li> <li>Recognize quoted types in <code>typing.TypeForm</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/28507">#28507</a>)</li> <li>Support conditional assignment to <code>__lazy_modules__</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/28491">#28491</a>)</li> <li>[<code>flake8-type-checking</code>] Prefer lazy imports over <code>TYPE_CHECKING</code> on Python 3.15 and later (<code>TC001</code>, <code>TC002</code>, <code>TC003</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28541">#28541</a>)</li> <li>[<code>pyupgrade</code>] Make the fix for <code>UP040</code> always unsafe (<a href="https://redirect.github.com/astral-sh/ruff/pull/28526">#28526</a>)</li> <li>[<code>pyupgrade</code>] Stop recommending deprecated <code>ByteString</code> aliases (<code>UP035</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28498">#28498</a>)</li> <li>[<code>ruff</code>, <code>flake8-use-pathlib</code>] Recognize the <code>parent_mode</code> argument (<code>RUF064</code>, <code>PTH103</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28528">#28528</a>)</li> <li>[<code>ruff</code>] Detect <code>\Z</code> in <code>pytest.raises()</code> match patterns (<code>RUF043</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28598">#28598</a>)</li> </ul> <h3>CLI</h3> <ul> <li>Use rule name and code in formatter incompatibility warnings (<a href="https://redirect.github.com/astral-sh/ruff/pull/28571">#28571</a>)</li> </ul> <h3>Configuration</h3> <ul> <li>[<code>flake8-tidy-imports</code>] Add <code>extend-banned-api</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/28644">#28644</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/VedantMadane"><code>@VedantMadane</code></a></li> <li><a href="https://github.com/alzeph"><code>@alzeph</code></a></li> <li><a href="https://github.com/charliermarsh"><code>@charliermarsh</code></a></li> <li><a href="https://github.com/fredrikblau"><code>@fredrikblau</code></a></li> <li><a href="https://github.com/ntBre"><code>@ntBre</code></a></li> <li><a href="https://github.com/zsol"><code>@zsol</code></a></li> <li><a href="https://github.com/Aniket-a14"><code>@Aniket-a14</code></a></li> <li><a href="https://github.com/r-b-1"><code>@r-b-1</code></a></li> </ul> <h2>Install ruff 0.16.8</h2> <h3>Install prebuilt binaries via shell script</h3> <pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.16.8/ruff-installer.sh | sh </tr></table> </code></pre> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's changelog</a>.</em></p> <blockquote> <h2>0.16.8</h2> <p>Released on 2026-09-16.</p> <h3>Bug fixes</h3> <ul> <li>Visit functional <code>TypedDict</code> keyword arguments correctly (<a href="https://redirect.github.com/astral-sh/ruff/pull/28584">#28584</a>)</li> <li>[<code>flake8-simplify</code>] Detect nested <code>async with</code> under sync parent (<code>SIM117</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/27821">#27821</a>)</li> <li>[<code>flake8-simplify</code>] Preserve operand order in <code>SIM109</code> fix (<a href="https://redirect.github.com/astral-sh/ruff/pull/27824">#27824</a>)</li> <li>[<code>pyupgrade</code>] Preserve required parentheses in multiline <code>UP040</code> fixes (<a href="https://redirect.github.com/astral-sh/ruff/pull/28164">#28164</a>)</li> <li>[<code>pyupgrade</code>] Skip <code>TypeVarTuple</code> and <code>ParamSpec</code> conversions with bounds or constraints (<code>UP040</code>, <code>UP046</code>, <code>UP047</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28505">#28505</a>)</li> </ul> <h3>Rule changes</h3> <ul> <li>Add support for <code>__lazy_modules__</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/28459">#28459</a>)</li> <li>Recognize PEP-728 <code>TypedDict</code> class keywords (<a href="https://redirect.github.com/astral-sh/ruff/pull/28533">#28533</a>)</li> <li>Recognize quoted types in <code>typing.TypeForm</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/28507">#28507</a>)</li> <li>Support conditional assignment to <code>__lazy_modules__</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/28491">#28491</a>)</li> <li>[<code>flake8-type-checking</code>] Prefer lazy imports over <code>TYPE_CHECKING</code> on Python 3.15 and later (<code>TC001</code>, <code>TC002</code>, <code>TC003</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28541">#28541</a>)</li> <li>[<code>pyupgrade</code>] Make the fix for <code>UP040</code> always unsafe (<a href="https://redirect.github.com/astral-sh/ruff/pull/28526">#28526</a>)</li> <li>[<code>pyupgrade</code>] Stop recommending deprecated <code>ByteString</code> aliases (<code>UP035</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28498">#28498</a>)</li> <li>[<code>ruff</code>, <code>flake8-use-pathlib</code>] Recognize the <code>parent_mode</code> argument (<code>RUF064</code>, <code>PTH103</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28528">#28528</a>)</li> <li>[<code>ruff</code>] Detect <code>\Z</code> in <code>pytest.raises()</code> match patterns (<code>RUF043</code>) (<a href="https://redirect.github.com/astral-sh/ruff/pull/28598">#28598</a>)</li> </ul> <h3>CLI</h3> <ul> <li>Use rule name and code in formatter incompatibility warnings (<a href="https://redirect.github.com/astral-sh/ruff/pull/28571">#28571</a>)</li> </ul> <h3>Configuration</h3> <ul> <li>[<code>flake8-tidy-imports</code>] Add <code>extend-banned-api</code> (<a href="https://redirect.github.com/astral-sh/ruff/pull/28644">#28644</a>)</li> </ul> <h3>Contributors</h3> <ul> <li><a href="https://github.com/VedantMadane"><code>@VedantMadane</code></a></li> <li><a href="https://github.com/alzeph"><code>@alzeph</code></a></li> <li><a href="https://github.com/charliermarsh"><code>@charliermarsh</code></a></li> <li><a href="https://github.com/fredrikblau"><code>@fredrikblau</code></a></li> <li><a href="https://github.com/ntBre"><code>@ntBre</code></a></li> <li><a href="https://github.com/zsol"><code>@zsol</code></a></li> <li><a href="https://github.com/Aniket-a14"><code>@Aniket-a14</code></a></li> <li><a href="https://github.com/r-b-1"><code>@r-b-1</code></a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/ruff/commit/62914c4b9b79a9e5004374a9c482ad2ed69290e1"><code>62914c4</code></a> Bump version to 0.16.8 (<a href="https://redirect.github.com/astral-sh/ruff/issues/28648">#28648</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/c47e0cdc665f56536ce7f7a8ac40fa0ff3f79482"><code>c47e0cd</code></a> [ty] Bound aliased intersection expansion during inference (<a href="https://redirect.github.com/astral-sh/ruff/issues/28546">#28546</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/ff4747b509ab4fffbe5689fcae39caa7503d1dcf"><code>ff4747b</code></a> renovate: update uv hashes correctly with setup-uv (<a href="https://redirect.github.com/astral-sh/ruff/issues/28621">#28621</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/94efeaa28630d80b2a74adf3c3963de99ed4ee29"><code>94efeaa</code></a> [ty] Compact reachable binding and declaration histories (<a href="https://redirect.github.com/astral-sh/ruff/issues/28349">#28349</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/50020fb1e8aa83b0826fa6f5f33a1e93c10cc60e"><code>50020fb</code></a> [ty] Avoid storing constraint nodes twice (<a href="https://redirect.github.com/astral-sh/ruff/issues/28375">#28375</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/446bb68da50014bb75f5ce1504a80c5883e3b0b2"><code>446bb68</code></a> [ty] Compare bound-method receivers before signatures (<a href="https://redirect.github.com/astral-sh/ruff/issues/28384">#28384</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/304ab86be5de6507e276ab09f5b43f44aeb92469"><code>304ab86</code></a> [<code>flake8-type-checking</code>] Prefer lazy imports over <code>TYPE_CHECKING</code> on 3.15+ (`...</li> <li><a href="https://github.com/astral-sh/ruff/commit/d940b244f7512427b0d87c7953e88c60e69f9bdf"><code>d940b24</code></a> [ty] Watch script dependencies in CLI watch mode (<a href="https://redirect.github.com/astral-sh/ruff/issues/28125">#28125</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/fe9f065a504127b11da72c2ff6d7813ddf3ce8ac"><code>fe9f065</code></a> [flake8-tidy-imports] Add <code>extend-banned-api</code> (<a href="https://redirect.github.com/astral-sh/ruff/issues/28644">#28644</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/31131db44f057cce68fa6b95552b7db54167b0b3"><code>31131db</code></a> [ty] Support <code>type[A & B]</code> (<a href="https://redirect.github.com/astral-sh/ruff/issues/27124">#27124</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/0.16.7...0.16.8">compare view</a></li> </ul> </details> <br /> Updates `wemake-python-styleguide` from 1.8.0 to 1.8.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/wemake-services/wemake-python-styleguide/releases">wemake-python-styleguide's releases</a>.</em></p> <blockquote> <h2>Version 1.8.1</h2> <h2>What's Changed</h2> <h3>Bugfixes</h3> <ul> <li>Count overused str and bytes separately for <code>WPS226</code>, <a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/issues/3782">#3782</a></li> <li>Do not count docstrings for <code>WPS226</code>, <a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/issues/3803">#3803</a></li> <li>Do not count attribute and type alias docstrings for <code>WPS226</code>, <a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/issues/3805">#3805</a></li> <li>Adds direct links to violations when searching by code, <a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/issues/3790">#3790</a></li> </ul> <h3>Misc</h3> <ul> <li>Fixed claude skill definition and metadata, <a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/issues/3780">#3780</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/TokenStyle"><code>@TokenStyle</code></a> made their first contribution in <a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/pull/3784">wemake-services/wemake-python-styleguide#3784</a></li> <li><a href="https://github.com/webdevsamran"><code>@webdevsamran</code></a> made their first contribution in <a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/pull/3794">wemake-services/wemake-python-styleguide#3794</a></li> <li><a href="https://github.com/AndreyGatsuk"><code>@AndreyGatsuk</code></a> made their first contribution in <a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/pull/3792">wemake-services/wemake-python-styleguide#3792</a></li> <li><a href="https://github.com/vyhuholl"><code>@vyhuholl</code></a> made their first contribution in <a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/pull/3804">wemake-services/wemake-python-styleguide#3804</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/wemake-services/wemake-python-styleguide/compare/1.8.0...1.8.1">https://github.com/wemake-services/wemake-python-styleguide/compare/1.8.0...1.8.1</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/wemake-services/wemake-python-styleguide/blob/master/CHANGELOG.md">wemake-python-styleguide's changelog</a>.</em></p> <blockquote> <h2>1.8.1</h2> <h3>Bugfixes</h3> <ul> <li>Count overused str and bytes separately for <code>WPS226</code>, <a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/issues/3782">#3782</a></li> <li>Do not count docstrings for <code>WPS226</code>, <a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/issues/3803">#3803</a></li> <li>Do not count attribute and type alias docstrings for <code>WPS226</code>, <a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/issues/3805">#3805</a></li> <li>Adds direct links to violations when searching by code, <a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/issues/3790">#3790</a></li> </ul> <h3>Misc</h3> <ul> <li>Fixed claude skill definition and metadata, <a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/issues/3780">#3780</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/wemake-services/wemake-python-styleguide/commit/7ae4ac712e133cdda143729e17f5fdcf2ed744bf"><code>7ae4ac7</code></a> Version 1.8.1 (<a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/issues/3809">#3809</a>)</li> <li><a href="https://github.com/wemake-services/wemake-python-styleguide/commit/88e8395295729c4f38ee5e19e25513274bc96ba4"><code>88e8395</code></a> Do not count attribute docstrings for WPS226 (<a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/issues/3806">#3806</a>)</li> <li><a href="https://github.com/wemake-services/wemake-python-styleguide/commit/b841755197231e26af00dd0a09698a715387d0b5"><code>b841755</code></a> chore(deps-dev): bump ruff from 0.16.5 to 0.16.6 (<a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/issues/3807">#3807</a>)</li> <li><a href="https://github.com/wemake-services/wemake-python-styleguide/commit/0ee6dc93e0646b31417cadfbc96080d7cd59041b"><code>0ee6dc9</code></a> Do not count docstrings for WPS226 (<a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/issues/3804">#3804</a>)</li> <li><a href="https://github.com/wemake-services/wemake-python-styleguide/commit/6e0b6b4c33c409a197d651f0dcfeced6798479c0"><code>6e0b6b4</code></a> chore(deps-dev): bump lxml from 6.1.2 to 6.1.3 (<a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/issues/3802">#3802</a>)</li> <li><a href="https://github.com/wemake-services/wemake-python-styleguide/commit/aec757b47ee802032ff44588c007689e28f3fbac"><code>aec757b</code></a> chore(deps-dev): bump sphinxcontrib-mermaid from 2.1.0 to 2.1.1 (<a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/issues/3800">#3800</a>)</li> <li><a href="https://github.com/wemake-services/wemake-python-styleguide/commit/fdd37895109c0591b4fba0e806be5bd1c20f71b4"><code>fdd3789</code></a> chore(deps-dev): bump pytest-randomly from 4.1.0 to 5.0.0 (<a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/issues/3801">#3801</a>)</li> <li><a href="https://github.com/wemake-services/wemake-python-styleguide/commit/42ffc0684bdae3ee159ed48655d96fcb181632e9"><code>42ffc06</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/issues/3799">#3799</a>)</li> <li><a href="https://github.com/wemake-services/wemake-python-styleguide/commit/9960e2ce189b414cc4766f95d6f8b710019a2fa9"><code>9960e2c</code></a> chore(deps): bump reagento/relator from 1.7.0 to 1.7.1 (<a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/issues/3796">#3796</a>)</li> <li><a href="https://github.com/wemake-services/wemake-python-styleguide/commit/1e8f17b27fc60266f65e0cc560378c17365ba764"><code>1e8f17b</code></a> chore(deps-dev): bump import-linter from 2.13 to 2.14 (<a href="https://redirect.github.com/wemake-services/wemake-python-styleguide/issues/3797">#3797</a>)</li> <li>Additional commits viewable in <a href="https://github.com/wemake-services/wemake-python-styleguide/compare/1.8.0...1.8.1">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
pytest-dev/pytest#14758 changed how pytest stores node IDs internally: instead of strings, it now uses
NodeIdobjects.Because of this, the private
failed_subtestsmapping usesNodeIdobjects as keys.pytest-rerunfailureswas still looking up failed subtests using string.nodeidvalues. So that failed subtests were not rerun with newer pytest versions.This change uses
.idwhenNodeIdis available, and falls back to.nodeidfor older pytest versions.Tested locally:
431f3e1f5,Only the
failed_subtestshandling was changed. Other uses of.nodeidstay the same.