Avoid flagging missing whitespace for decorators#4454
Conversation
fd763cf to
90683c1
Compare
MichaReiser
left a comment
There was a problem hiding this comment.
This is a deviation from pycodestyle, right?
|
This is a fix that corrects a deviation from pycodestyle. It brings our behavior in-line with pycodestyle. |
|
(Sorry for the wordy answer, I can't tell if you're asking whether the old or new behavior is the deviation.) |
ebbb35e to
d23197a
Compare
| ) | ||
| { | ||
| let is_binary = prev_token.map_or(false, |prev_token| { | ||
| let prev_kind = prev_token.kind(); |
There was a problem hiding this comment.
An you explain the fix. It's unclear to me how it works. I would have expected that the @ always goes into the else branch that requires no space, and thus, doesn't create any diagnostics
There was a problem hiding this comment.
@ can be used as a binary operator in Python -- it represents matrix multiplication:
#: E225
i = 1 @2
#: E225
i = 1@ 2
So equivalently to * or +, we need to detect whether we're seeing a decorator, or a binary operator.
There was a problem hiding this comment.
I think in practice, for this particular piece of syntax, it will be a "unary" token IFF it's the first token in the logical line.
There was a problem hiding this comment.
Oh wow, I didn't know!
Hmm, I'm wondering right now if my refactored implementation misses the handling for WS_OPTIONAL. Because the @ is part of the is_whitespace required, which returns NeedsSpace::Yes rather than setting it to NeedsSpace::Optional
There was a problem hiding this comment.
Hmm, I will take a look in a quick follow-up PR (or you can, if you're already working on it?).
There was a problem hiding this comment.
I'm not and would appreciate it if you can have a look. I believe we're missing the whole optional branch because pycodestyle has no explicit handling of the @ in the unary branch.
There was a problem hiding this comment.
Okay, I now remember briefly what is happening. The arithmetic and bitwise aren't optional. It's just that they are different rules (handled here https://github.com/PyCQA/pycodestyle/blob/f6500e2170406b664a721b5e3a0f5d66bcb757e1/pycodestyle.py#LL914C26-L920C66)
What I don't understand right now is why @ would require any special treatment (more specifically, why we need where pycodestyle has none)
d23197a to
6ee2666
Compare
6ee2666 to
e056926
Compare
PR Check ResultsEcosystem✅ ecosystem check detected no changes. BenchmarkLinuxWindows |
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://togithub.com/charliermarsh/ruff) ([changelog](https://togithub.com/charliermarsh/ruff/releases)) | `^0.0.267` -> `^0.0.269` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>charliermarsh/ruff</summary> ### [`v0.0.269`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.269) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.267...v0.0.269) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed (This is a rerelease of `v0.0.268`, which didn't make it to PyPI due to user error. As such, the release notes are copied below.) ##### `pycodestyle` This release includes optimized implementations of a large portion of `pycodestyle`, for those that use Ruff without an autoformatter. In this initial release, the rules are being introduced under a "nursery" flag, which requires that users explicitly select them (e.g., `select = ["E111"]`); in other words, these rules are not yet enabled via `select = ["E"]`. If you're interested in testing the `pycodestyle` rules, you can enable them via: ```toml select = [ "E111", "E112", "E113", "E114", "E115", "E116", "E117", "E201", "E202", "E203", "E211", "E221", "E222", "E223", "E224", "E225", "E226", "E227", "E228", "E231", "E251", "E252", "E261", "E262", "E265", "E266", "E271", "E272", "E273", "E274", "E275", ] ``` These rules will be included as part of the `E` category in a future release. ##### Breaking Changes - \[`pyupgrade`] Remove `keep-runtime-typing` setting by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4427](https://togithub.com/charliermarsh/ruff/pull/4427) ##### Rules - \[`pylint`] Add `duplicate-bases` rule by [@​alonme](https://togithub.com/alonme) in [https://github.com/charliermarsh/ruff/pull/4411](https://togithub.com/charliermarsh/ruff/pull/4411) - \[`pylint`] Fix `PLW3301` auto-fix with generators by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4412](https://togithub.com/charliermarsh/ruff/pull/4412) - \[`flake8-async`] Implement flake8-async plugin by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4432](https://togithub.com/charliermarsh/ruff/pull/4432) - \[`pyupgrade`] Enable automatic rewrites of `typing.Deque` and `typing.DefaultDict` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4420](https://togithub.com/charliermarsh/ruff/pull/4420) - \[`flake8-pyi`] Implement `unannotated-assignment-in-stub` (`PY052`) by [@​sladyn98](https://togithub.com/sladyn98) in [https://github.com/charliermarsh/ruff/pull/4293](https://togithub.com/charliermarsh/ruff/pull/4293) - \[`tryceratops`] Implement TRY302 - `raise` after `except` by [@​john-h-k](https://togithub.com/john-h-k) in [https://github.com/charliermarsh/ruff/pull/4461](https://togithub.com/charliermarsh/ruff/pull/4461) - \[`flake8-bandit`] Improve SQL injection detection logic (`S608`) by [@​scop](https://togithub.com/scop) in [https://github.com/charliermarsh/ruff/pull/4499](https://togithub.com/charliermarsh/ruff/pull/4499) - \[`flake8-todos`] Implement `flake8_todos` by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/3921](https://togithub.com/charliermarsh/ruff/pull/3921) - \[`flake8-future-annotations`] Implement `flake8-future-annotations` FA100 by [@​TylerYep](https://togithub.com/TylerYep) in [https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979) - Enable `pycodestyle` rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/3689](https://togithub.com/charliermarsh/ruff/pull/3689) - Enable `pycodestyle` rules under new "nursery" category by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4407](https://togithub.com/charliermarsh/ruff/pull/4407) ##### Settings - Merge subsettings when extending configurations by [@​bendoerry](https://togithub.com/bendoerry) in [https://github.com/charliermarsh/ruff/pull/4431](https://togithub.com/charliermarsh/ruff/pull/4431) ##### Bug Fixes - Extend multi-line noqa directives to start-of-line by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4490](https://togithub.com/charliermarsh/ruff/pull/4490) - Fix scoping of comprehensions within classes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4494](https://togithub.com/charliermarsh/ruff/pull/4494) - Enable autofix for split-assertions at top level by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4405](https://togithub.com/charliermarsh/ruff/pull/4405) - Ignore ANN401 for overridden methods by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4409](https://togithub.com/charliermarsh/ruff/pull/4409) - Fix `RUF010` autofix within f-strings by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4423](https://togithub.com/charliermarsh/ruff/pull/4423) - Update C419 to be a suggested fix by [@​madkinsz](https://togithub.com/madkinsz) in [https://github.com/charliermarsh/ruff/pull/4424](https://togithub.com/charliermarsh/ruff/pull/4424) - Fix expected-indentation errors with end-of-line comments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4438](https://togithub.com/charliermarsh/ruff/pull/4438) - Emit non-logical newlines for "empty" lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4444](https://togithub.com/charliermarsh/ruff/pull/4444) - Avoid emitting empty logical lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4452](https://togithub.com/charliermarsh/ruff/pull/4452) - Avoid flagging missing whitespace for decorators by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4454](https://togithub.com/charliermarsh/ruff/pull/4454) - Remove special-casing for whitespace-around-@​ by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4458](https://togithub.com/charliermarsh/ruff/pull/4458) - Avoid triggering `pd#at` and friends on non-subscripts by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4474](https://togithub.com/charliermarsh/ruff/pull/4474) - Include precise tokens for extraneous-whitespace diagnostics by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4471](https://togithub.com/charliermarsh/ruff/pull/4471) - Allow shebang comments at start-of-file by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4473](https://togithub.com/charliermarsh/ruff/pull/4473) - Bring pycodestyle rules into full compatibility (on SciPy) by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4472](https://togithub.com/charliermarsh/ruff/pull/4472) - Invert quote-style when generating code within f-strings by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4487](https://togithub.com/charliermarsh/ruff/pull/4487) - Fix COM812 false positive in string subscript by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4493](https://togithub.com/charliermarsh/ruff/pull/4493) - Overhaul sdist handling by [@​konstin](https://togithub.com/konstin) in [https://github.com/charliermarsh/ruff/pull/4439](https://togithub.com/charliermarsh/ruff/pull/4439) #### New Contributors - [@​TylerYep](https://togithub.com/TylerYep) made their first contribution in [https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979) - [@​yanksyoon](https://togithub.com/yanksyoon) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4428](https://togithub.com/charliermarsh/ruff/pull/4428) - [@​bendoerry](https://togithub.com/bendoerry) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4431](https://togithub.com/charliermarsh/ruff/pull/4431) - [@​qdegraaf](https://togithub.com/qdegraaf) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4432](https://togithub.com/charliermarsh/ruff/pull/4432) - [@​jameslamb](https://togithub.com/jameslamb) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4446](https://togithub.com/charliermarsh/ruff/pull/4446) - [@​john-h-k](https://togithub.com/john-h-k) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4461](https://togithub.com/charliermarsh/ruff/pull/4461) **Full Changelog**: astral-sh/ruff@v0.0.267...v0.0.269 </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:eyJjcmVhdGVkSW5WZXIiOiIzNS45NS4xIiwidXBkYXRlZEluVmVyIjoiMzUuOTUuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Signed-off-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://togithub.com/charliermarsh/ruff) ([changelog](https://togithub.com/charliermarsh/ruff/releases)) | `==0.0.267` -> `==0.0.269` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>charliermarsh/ruff</summary> ### [`v0.0.269`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.269) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.267...v0.0.269) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed (This is a rerelease of `v0.0.268`, which didn't make it to PyPI due to user error. As such, the release notes are copied below.) ##### `pycodestyle` This release includes optimized implementations of a large portion of `pycodestyle`, for those that use Ruff without an autoformatter. In this initial release, the rules are being introduced under a "nursery" flag, which requires that users explicitly select them (e.g., `select = ["E111"]`); in other words, these rules are not yet enabled via `select = ["E"]`. If you're interested in testing the `pycodestyle` rules, you can enable them via: ```toml select = [ "E111", "E112", "E113", "E114", "E115", "E116", "E117", "E201", "E202", "E203", "E211", "E221", "E222", "E223", "E224", "E225", "E226", "E227", "E228", "E231", "E251", "E252", "E261", "E262", "E265", "E266", "E271", "E272", "E273", "E274", "E275", ] ``` These rules will be included as part of the `E` category in a future release. ##### Breaking Changes - \[`pyupgrade`] Remove `keep-runtime-typing` setting by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4427](https://togithub.com/charliermarsh/ruff/pull/4427) ##### Rules - \[`pylint`] Add `duplicate-bases` rule by [@​alonme](https://togithub.com/alonme) in [https://github.com/charliermarsh/ruff/pull/4411](https://togithub.com/charliermarsh/ruff/pull/4411) - \[`pylint`] Fix `PLW3301` auto-fix with generators by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4412](https://togithub.com/charliermarsh/ruff/pull/4412) - \[`flake8-async`] Implement flake8-async plugin by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4432](https://togithub.com/charliermarsh/ruff/pull/4432) - \[`pyupgrade`] Enable automatic rewrites of `typing.Deque` and `typing.DefaultDict` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4420](https://togithub.com/charliermarsh/ruff/pull/4420) - \[`flake8-pyi`] Implement `unannotated-assignment-in-stub` (`PY052`) by [@​sladyn98](https://togithub.com/sladyn98) in [https://github.com/charliermarsh/ruff/pull/4293](https://togithub.com/charliermarsh/ruff/pull/4293) - \[`tryceratops`] Implement TRY302 - `raise` after `except` by [@​john-h-k](https://togithub.com/john-h-k) in [https://github.com/charliermarsh/ruff/pull/4461](https://togithub.com/charliermarsh/ruff/pull/4461) - \[`flake8-bandit`] Improve SQL injection detection logic (`S608`) by [@​scop](https://togithub.com/scop) in [https://github.com/charliermarsh/ruff/pull/4499](https://togithub.com/charliermarsh/ruff/pull/4499) - \[`flake8-todos`] Implement `flake8_todos` by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/3921](https://togithub.com/charliermarsh/ruff/pull/3921) - \[`flake8-future-annotations`] Implement `flake8-future-annotations` FA100 by [@​TylerYep](https://togithub.com/TylerYep) in [https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979) - Enable `pycodestyle` rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/3689](https://togithub.com/charliermarsh/ruff/pull/3689) - Enable `pycodestyle` rules under new "nursery" category by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4407](https://togithub.com/charliermarsh/ruff/pull/4407) ##### Settings - Merge subsettings when extending configurations by [@​bendoerry](https://togithub.com/bendoerry) in [https://github.com/charliermarsh/ruff/pull/4431](https://togithub.com/charliermarsh/ruff/pull/4431) ##### Bug Fixes - Extend multi-line noqa directives to start-of-line by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4490](https://togithub.com/charliermarsh/ruff/pull/4490) - Fix scoping of comprehensions within classes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4494](https://togithub.com/charliermarsh/ruff/pull/4494) - Enable autofix for split-assertions at top level by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4405](https://togithub.com/charliermarsh/ruff/pull/4405) - Ignore ANN401 for overridden methods by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4409](https://togithub.com/charliermarsh/ruff/pull/4409) - Fix `RUF010` autofix within f-strings by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4423](https://togithub.com/charliermarsh/ruff/pull/4423) - Update C419 to be a suggested fix by [@​madkinsz](https://togithub.com/madkinsz) in [https://github.com/charliermarsh/ruff/pull/4424](https://togithub.com/charliermarsh/ruff/pull/4424) - Fix expected-indentation errors with end-of-line comments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4438](https://togithub.com/charliermarsh/ruff/pull/4438) - Emit non-logical newlines for "empty" lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4444](https://togithub.com/charliermarsh/ruff/pull/4444) - Avoid emitting empty logical lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4452](https://togithub.com/charliermarsh/ruff/pull/4452) - Avoid flagging missing whitespace for decorators by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4454](https://togithub.com/charliermarsh/ruff/pull/4454) - Remove special-casing for whitespace-around-@​ by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4458](https://togithub.com/charliermarsh/ruff/pull/4458) - Avoid triggering `pd#at` and friends on non-subscripts by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4474](https://togithub.com/charliermarsh/ruff/pull/4474) - Include precise tokens for extraneous-whitespace diagnostics by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4471](https://togithub.com/charliermarsh/ruff/pull/4471) - Allow shebang comments at start-of-file by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4473](https://togithub.com/charliermarsh/ruff/pull/4473) - Bring pycodestyle rules into full compatibility (on SciPy) by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4472](https://togithub.com/charliermarsh/ruff/pull/4472) - Invert quote-style when generating code within f-strings by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4487](https://togithub.com/charliermarsh/ruff/pull/4487) - Fix COM812 false positive in string subscript by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4493](https://togithub.com/charliermarsh/ruff/pull/4493) - Overhaul sdist handling by [@​konstin](https://togithub.com/konstin) in [https://github.com/charliermarsh/ruff/pull/4439](https://togithub.com/charliermarsh/ruff/pull/4439) #### New Contributors - [@​TylerYep](https://togithub.com/TylerYep) made their first contribution in [https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979) - [@​yanksyoon](https://togithub.com/yanksyoon) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4428](https://togithub.com/charliermarsh/ruff/pull/4428) - [@​bendoerry](https://togithub.com/bendoerry) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4431](https://togithub.com/charliermarsh/ruff/pull/4431) - [@​qdegraaf](https://togithub.com/qdegraaf) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4432](https://togithub.com/charliermarsh/ruff/pull/4432) - [@​jameslamb](https://togithub.com/jameslamb) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4446](https://togithub.com/charliermarsh/ruff/pull/4446) - [@​john-h-k](https://togithub.com/john-h-k) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4461](https://togithub.com/charliermarsh/ruff/pull/4461) **Full Changelog**: astral-sh/ruff@v0.0.267...v0.0.269 </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/pyrainbird). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS45NS4xIiwidXBkYXRlZEluVmVyIjoiMzUuOTUuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://togithub.com/charliermarsh/ruff) ([changelog](https://togithub.com/charliermarsh/ruff/releases)) | `==0.0.267` -> `==0.0.269` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>charliermarsh/ruff</summary> ### [`v0.0.269`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.269) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.267...v0.0.269) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed (This is a rerelease of `v0.0.268`, which didn't make it to PyPI due to user error. As such, the release notes are copied below.) ##### `pycodestyle` This release includes optimized implementations of a large portion of `pycodestyle`, for those that use Ruff without an autoformatter. In this initial release, the rules are being introduced under a "nursery" flag, which requires that users explicitly select them (e.g., `select = ["E111"]`); in other words, these rules are not yet enabled via `select = ["E"]`. If you're interested in testing the `pycodestyle` rules, you can enable them via: ```toml select = [ "E111", "E112", "E113", "E114", "E115", "E116", "E117", "E201", "E202", "E203", "E211", "E221", "E222", "E223", "E224", "E225", "E226", "E227", "E228", "E231", "E251", "E252", "E261", "E262", "E265", "E266", "E271", "E272", "E273", "E274", "E275", ] ``` These rules will be included as part of the `E` category in a future release. ##### Breaking Changes - \[`pyupgrade`] Remove `keep-runtime-typing` setting by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4427](https://togithub.com/charliermarsh/ruff/pull/4427) ##### Rules - \[`pylint`] Add `duplicate-bases` rule by [@​alonme](https://togithub.com/alonme) in [https://github.com/charliermarsh/ruff/pull/4411](https://togithub.com/charliermarsh/ruff/pull/4411) - \[`pylint`] Fix `PLW3301` auto-fix with generators by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4412](https://togithub.com/charliermarsh/ruff/pull/4412) - \[`flake8-async`] Implement flake8-async plugin by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4432](https://togithub.com/charliermarsh/ruff/pull/4432) - \[`pyupgrade`] Enable automatic rewrites of `typing.Deque` and `typing.DefaultDict` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4420](https://togithub.com/charliermarsh/ruff/pull/4420) - \[`flake8-pyi`] Implement `unannotated-assignment-in-stub` (`PY052`) by [@​sladyn98](https://togithub.com/sladyn98) in [https://github.com/charliermarsh/ruff/pull/4293](https://togithub.com/charliermarsh/ruff/pull/4293) - \[`tryceratops`] Implement TRY302 - `raise` after `except` by [@​john-h-k](https://togithub.com/john-h-k) in [https://github.com/charliermarsh/ruff/pull/4461](https://togithub.com/charliermarsh/ruff/pull/4461) - \[`flake8-bandit`] Improve SQL injection detection logic (`S608`) by [@​scop](https://togithub.com/scop) in [https://github.com/charliermarsh/ruff/pull/4499](https://togithub.com/charliermarsh/ruff/pull/4499) - \[`flake8-todos`] Implement `flake8_todos` by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/3921](https://togithub.com/charliermarsh/ruff/pull/3921) - \[`flake8-future-annotations`] Implement `flake8-future-annotations` FA100 by [@​TylerYep](https://togithub.com/TylerYep) in [https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979) - Enable `pycodestyle` rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/3689](https://togithub.com/charliermarsh/ruff/pull/3689) - Enable `pycodestyle` rules under new "nursery" category by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4407](https://togithub.com/charliermarsh/ruff/pull/4407) ##### Settings - Merge subsettings when extending configurations by [@​bendoerry](https://togithub.com/bendoerry) in [https://github.com/charliermarsh/ruff/pull/4431](https://togithub.com/charliermarsh/ruff/pull/4431) ##### Bug Fixes - Extend multi-line noqa directives to start-of-line by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4490](https://togithub.com/charliermarsh/ruff/pull/4490) - Fix scoping of comprehensions within classes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4494](https://togithub.com/charliermarsh/ruff/pull/4494) - Enable autofix for split-assertions at top level by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4405](https://togithub.com/charliermarsh/ruff/pull/4405) - Ignore ANN401 for overridden methods by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4409](https://togithub.com/charliermarsh/ruff/pull/4409) - Fix `RUF010` autofix within f-strings by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4423](https://togithub.com/charliermarsh/ruff/pull/4423) - Update C419 to be a suggested fix by [@​madkinsz](https://togithub.com/madkinsz) in [https://github.com/charliermarsh/ruff/pull/4424](https://togithub.com/charliermarsh/ruff/pull/4424) - Fix expected-indentation errors with end-of-line comments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4438](https://togithub.com/charliermarsh/ruff/pull/4438) - Emit non-logical newlines for "empty" lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4444](https://togithub.com/charliermarsh/ruff/pull/4444) - Avoid emitting empty logical lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4452](https://togithub.com/charliermarsh/ruff/pull/4452) - Avoid flagging missing whitespace for decorators by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4454](https://togithub.com/charliermarsh/ruff/pull/4454) - Remove special-casing for whitespace-around-@​ by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4458](https://togithub.com/charliermarsh/ruff/pull/4458) - Avoid triggering `pd#at` and friends on non-subscripts by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4474](https://togithub.com/charliermarsh/ruff/pull/4474) - Include precise tokens for extraneous-whitespace diagnostics by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4471](https://togithub.com/charliermarsh/ruff/pull/4471) - Allow shebang comments at start-of-file by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4473](https://togithub.com/charliermarsh/ruff/pull/4473) - Bring pycodestyle rules into full compatibility (on SciPy) by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4472](https://togithub.com/charliermarsh/ruff/pull/4472) - Invert quote-style when generating code within f-strings by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4487](https://togithub.com/charliermarsh/ruff/pull/4487) - Fix COM812 false positive in string subscript by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4493](https://togithub.com/charliermarsh/ruff/pull/4493) - Overhaul sdist handling by [@​konstin](https://togithub.com/konstin) in [https://github.com/charliermarsh/ruff/pull/4439](https://togithub.com/charliermarsh/ruff/pull/4439) #### New Contributors - [@​TylerYep](https://togithub.com/TylerYep) made their first contribution in [https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979) - [@​yanksyoon](https://togithub.com/yanksyoon) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4428](https://togithub.com/charliermarsh/ruff/pull/4428) - [@​bendoerry](https://togithub.com/bendoerry) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4431](https://togithub.com/charliermarsh/ruff/pull/4431) - [@​qdegraaf](https://togithub.com/qdegraaf) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4432](https://togithub.com/charliermarsh/ruff/pull/4432) - [@​jameslamb](https://togithub.com/jameslamb) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4446](https://togithub.com/charliermarsh/ruff/pull/4446) - [@​john-h-k](https://togithub.com/john-h-k) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4461](https://togithub.com/charliermarsh/ruff/pull/4461) **Full Changelog**: astral-sh/ruff@v0.0.267...v0.0.269 </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:eyJjcmVhdGVkSW5WZXIiOiIzNS45Ni4zIiwidXBkYXRlZEluVmVyIjoiMzUuOTYuMyIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
No description provided.