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
Prefer itertools.pairwise()
over zip()
for successive pairs (RUF007
)
#3501
Prefer itertools.pairwise()
over zip()
for successive pairs (RUF007
)
#3501
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
itertools.pairwise
is new in Python 3.10, so this rule should be restricted to target_version >= PyVersion::Py310
.
Should we also check for zip(a[:-1], a[1:])
?
980b098
to
e6c51af
Compare
✅ ecosystem check detected no changes. |
63001bc
to
9a38f44
Compare
Also have to change this commit message and finish the stuf laid out in CONTRIBUTING.md
9a38f44
to
9e9e8fb
Compare
PR Check ResultsEcosystem✅ ecosystem check detected no changes. BenchmarkLinux
Windows
|
Should have time to merge this tonight if it's in good shape! |
@charliermarsh just have to get the new changes re-reviewed - I changed the logic for determining successive pairs to simply be a difference of 1 between start of first/second slices. That'll allow us to pick up cases like |
itertools.pairwise()
over zip()
for successive pairsitertools.pairwise()
over zip()
for successive pairs (RUF007
)
Thanks @evanrittenhouse! |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://togithub.com/charliermarsh/ruff) | `^0.0.256` -> `^0.0.257` | [![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.257/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.257/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.257/compatibility-slim/0.0.256)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.257/confidence-slim/0.0.256)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>charliermarsh/ruff</summary> ### [`v0.0.257`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.257) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.256...v0.0.257) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### Rules - \[`ruff`] Prefer `itertools.pairwise()` over `zip()` for successive pairs (`RUF007`) by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [astral-sh/ruff#3501 - \[`flake8-bugbear`] Add `no-explicit-stacklevel` (`B028`) by [@​johnor](https://togithub.com/johnor) in [astral-sh/ruff#3550 - \[`pylint`] invalid-characters-\* by [@​r3m0t](https://togithub.com/r3m0t) in [astral-sh/ruff#3552 - \[`pylint`] Implement `useless-return` (`R1711`) by [@​tomecki](https://togithub.com/tomecki) in [astral-sh/ruff#3116 - \[`pylint`]: Implement `continue-in-finally` (`E0116`) by [@​latonis](https://togithub.com/latonis) in [astral-sh/ruff#3541 ##### Bug Fixes - Rewrite mock import with starred imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [astral-sh/ruff#3566 - Respect `type` overrides in E721 by [@​charliermarsh](https://togithub.com/charliermarsh) in [astral-sh/ruff#3582 - Use `value > max` style in pylint and mccabe messages by [@​edgarrmondragon](https://togithub.com/edgarrmondragon) in [astral-sh/ruff#3553 - Fix autofix conflict between `D209` and `D400` by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [astral-sh/ruff#3564 - Avoid C1901 violations within subscripts by [@​charliermarsh](https://togithub.com/charliermarsh) in [astral-sh/ruff#3517 - Avoid adding dashed line outside of docstring by [@​charliermarsh](https://togithub.com/charliermarsh) in [astral-sh/ruff#3581 - Enable ANSI colors on Windows 10 by [@​charliermarsh](https://togithub.com/charliermarsh) in [astral-sh/ruff#3583 #### New Contributors - [@​johnor](https://togithub.com/johnor) made their first contribution in [astral-sh/ruff#3550 **Full Changelog**: astral-sh/ruff@v0.0.256...v0.0.257 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/ixm-one/pytest-cmake-presets). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMC4yIiwidXBkYXRlZEluVmVyIjoiMzUuMTAuMiJ9--> Signed-off-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://togithub.com/charliermarsh/ruff) | `==0.0.256` -> `==0.0.257` | [![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.257/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.257/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.257/compatibility-slim/0.0.256)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.257/confidence-slim/0.0.256)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>charliermarsh/ruff</summary> ### [`v0.0.257`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.257) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.256...v0.0.257) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### Rules - \[`ruff`] Prefer `itertools.pairwise()` over `zip()` for successive pairs (`RUF007`) by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [astral-sh/ruff#3501 - \[`flake8-bugbear`] Add `no-explicit-stacklevel` (`B028`) by [@​johnor](https://togithub.com/johnor) in [astral-sh/ruff#3550 - \[`pylint`] invalid-characters-\* by [@​r3m0t](https://togithub.com/r3m0t) in [astral-sh/ruff#3552 - \[`pylint`] Implement `useless-return` (`R1711`) by [@​tomecki](https://togithub.com/tomecki) in [astral-sh/ruff#3116 - \[`pylint`]: Implement `continue-in-finally` (`E0116`) by [@​latonis](https://togithub.com/latonis) in [astral-sh/ruff#3541 ##### Bug Fixes - Rewrite mock import with starred imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [astral-sh/ruff#3566 - Respect `type` overrides in E721 by [@​charliermarsh](https://togithub.com/charliermarsh) in [astral-sh/ruff#3582 - Use `value > max` style in pylint and mccabe messages by [@​edgarrmondragon](https://togithub.com/edgarrmondragon) in [astral-sh/ruff#3553 - Fix autofix conflict between `D209` and `D400` by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [astral-sh/ruff#3564 - Avoid C1901 violations within subscripts by [@​charliermarsh](https://togithub.com/charliermarsh) in [astral-sh/ruff#3517 - Avoid adding dashed line outside of docstring by [@​charliermarsh](https://togithub.com/charliermarsh) in [astral-sh/ruff#3581 - Enable ANSI colors on Windows 10 by [@​charliermarsh](https://togithub.com/charliermarsh) in [astral-sh/ruff#3583 #### New Contributors - [@​johnor](https://togithub.com/johnor) made their first contribution in [astral-sh/ruff#3550 **Full Changelog**: astral-sh/ruff@v0.0.256...v0.0.257 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/allenporter/flux-local). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xNC4yIiwidXBkYXRlZEluVmVyIjoiMzUuMTQuMiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Fixes #3297.
We ensure that the two arguments to
zip()
match and that the lower bound of the slice is 1, if the second argument is a slice. Otherwise, we wouldn't be able to guarantee that the request being made is for successive pairs.