Skip to content

implement E307 for pylint invalid str return type#4854

Merged
charliermarsh merged 5 commits intoastral-sh:mainfrom
Ryang20718:implement_pylint_invalid_str_returnE0307
Jun 5, 2023
Merged

implement E307 for pylint invalid str return type#4854
charliermarsh merged 5 commits intoastral-sh:mainfrom
Ryang20718:implement_pylint_invalid_str_returnE0307

Conversation

@Ryang20718
Copy link
Contributor

@Ryang20718 Ryang20718 commented Jun 4, 2023

Summary

Implements https://pylint.readthedocs.io/en/latest/user_guide/messages/error/invalid-str-returned.html for pylint

Throws an error when

a __str__ method returns something which is not a string

@Ryang20718 Ryang20718 force-pushed the implement_pylint_invalid_str_returnE0307 branch 2 times, most recently from 50b2af3 to 3e513e6 Compare June 4, 2023 23:00
@Ryang20718 Ryang20718 force-pushed the implement_pylint_invalid_str_returnE0307 branch from 3e513e6 to 78eaefb Compare June 4, 2023 23:03
@Ryang20718 Ryang20718 marked this pull request as ready for review June 4, 2023 23:12
@github-actions
Copy link
Contributor

github-actions bot commented Jun 4, 2023

PR Check Results

Ecosystem

✅ ecosystem check detected no changes.

Benchmark

Linux

group                                      main                                   pr
-----                                      ----                                   --
linter/all-rules/large/dataset.py          1.00     14.2±0.09ms     2.9 MB/sec    1.01     14.3±0.10ms     2.8 MB/sec
linter/all-rules/numpy/ctypeslib.py        1.00      3.4±0.01ms     5.0 MB/sec    1.01      3.4±0.01ms     4.9 MB/sec
linter/all-rules/numpy/globals.py          1.00    413.9±0.82µs     7.1 MB/sec    1.01    416.7±0.87µs     7.1 MB/sec
linter/all-rules/pydantic/types.py         1.00      5.9±0.04ms     4.3 MB/sec    1.00      5.9±0.04ms     4.3 MB/sec
linter/default-rules/large/dataset.py      1.00      6.8±0.02ms     6.0 MB/sec    1.02      6.9±0.02ms     5.9 MB/sec
linter/default-rules/numpy/ctypeslib.py    1.00   1448.3±3.04µs    11.5 MB/sec    1.03   1485.9±7.04µs    11.2 MB/sec
linter/default-rules/numpy/globals.py      1.00    161.5±0.20µs    18.3 MB/sec    1.02    164.8±4.58µs    17.9 MB/sec
linter/default-rules/pydantic/types.py     1.00      3.0±0.01ms     8.4 MB/sec    1.03      3.1±0.01ms     8.2 MB/sec
parser/large/dataset.py                    1.00      5.2±0.01ms     7.8 MB/sec    1.00      5.2±0.01ms     7.8 MB/sec
parser/numpy/ctypeslib.py                  1.00   1018.5±0.53µs    16.3 MB/sec    1.00   1023.1±0.57µs    16.3 MB/sec
parser/numpy/globals.py                    1.00    106.9±0.35µs    27.6 MB/sec    1.00    107.1±0.27µs    27.5 MB/sec
parser/pydantic/types.py                   1.00      2.2±0.01ms    11.4 MB/sec    1.00      2.2±0.00ms    11.3 MB/sec

Windows

group                                      main                                   pr
-----                                      ----                                   --
linter/all-rules/large/dataset.py          1.08     18.3±0.12ms     2.2 MB/sec    1.00     16.9±0.12ms     2.4 MB/sec
linter/all-rules/numpy/ctypeslib.py        1.05      4.5±0.03ms     3.7 MB/sec    1.00      4.3±0.05ms     3.9 MB/sec
linter/all-rules/numpy/globals.py          1.04   447.5±15.02µs     6.6 MB/sec    1.00    428.8±5.80µs     6.9 MB/sec
linter/all-rules/pydantic/types.py         1.07      7.7±0.05ms     3.3 MB/sec    1.00      7.2±0.04ms     3.6 MB/sec
linter/default-rules/large/dataset.py      1.17      9.8±0.05ms     4.2 MB/sec    1.00      8.4±0.03ms     4.9 MB/sec
linter/default-rules/numpy/ctypeslib.py    1.11  1958.5±12.39µs     8.5 MB/sec    1.00  1767.0±14.88µs     9.4 MB/sec
linter/default-rules/numpy/globals.py      1.08    203.8±4.01µs    14.5 MB/sec    1.00    187.9±3.63µs    15.7 MB/sec
linter/default-rules/pydantic/types.py     1.12      4.3±0.02ms     6.0 MB/sec    1.00      3.8±0.05ms     6.7 MB/sec
parser/large/dataset.py                    1.23      8.6±0.05ms     4.7 MB/sec    1.00      7.0±0.03ms     5.8 MB/sec
parser/numpy/ctypeslib.py                  1.19  1566.8±13.38µs    10.6 MB/sec    1.00  1314.9±28.70µs    12.7 MB/sec
parser/numpy/globals.py                    1.13    154.2±1.09µs    19.1 MB/sec    1.00    136.3±0.83µs    21.6 MB/sec
parser/pydantic/types.py                   1.20      3.5±0.02ms     7.3 MB/sec    1.00      2.9±0.02ms     8.7 MB/sec

@charliermarsh
Copy link
Member

Hmm, we may not have sufficiently good type inference to support this rule reliably right now. For example, Pylint allows this:

class Str:
    """__str__ returns int"""

    def __str__(self):
        x = "s"
        return x

Which makes sense. But we don't do type inference yet, so the best we could do is flag the method if you return a constant value that isn't a string (e.g., an int or a float or a dictionary or something else) -- we'd have to allow arbitrary variables, attribute accesses, function calls, etc.

@charliermarsh
Copy link
Member

(At the very least, we probably need to change the check to only look for non-string constants, which will have a lot of false negatives compared to Pylint, but will avoid the huge false positive rate.)

… checking return results of __str__ of constants
@Ryang20718 Ryang20718 force-pushed the implement_pylint_invalid_str_returnE0307 branch from c86bb3b to 339a382 Compare June 5, 2023 04:06
@charliermarsh charliermarsh added the rule Implementing or modifying a lint rule label Jun 5, 2023
@charliermarsh charliermarsh enabled auto-merge (squash) June 5, 2023 17:45
@charliermarsh charliermarsh merged commit 7224596 into astral-sh:main Jun 5, 2023
renovate bot referenced this pull request in ixm-one/pytest-cmake-presets Jun 7, 2023
[![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)
([changelog](https://togithub.com/charliermarsh/ruff/releases)) |
`^0.0.270` -> `^0.0.271` |
[![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.271/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.271/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.271/compatibility-slim/0.0.270)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.271/confidence-slim/0.0.270)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>charliermarsh/ruff</summary>

###
[`v0.0.271`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.271)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.270...v0.0.271)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Rules

- Add autofix for flake8-type-checking by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4742](https://togithub.com/charliermarsh/ruff/pull/4742)
- \[`airflow`] Add AIR001: task variable name should be same as task_id
arg by [@&#8203;jlaneve](https://togithub.com/jlaneve) in
[https://github.com/charliermarsh/ruff/pull/4687](https://togithub.com/charliermarsh/ruff/pull/4687)
- \[`flake8-bandit`] Implement S609, linux_commands_wildcard_injection
by [@&#8203;scop](https://togithub.com/scop) in
[https://github.com/charliermarsh/ruff/pull/4504](https://togithub.com/charliermarsh/ruff/pull/4504)
- \[`flake8-bugbear`] Move duplicate-value rule to flake8-bugbear by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4882](https://togithub.com/charliermarsh/ruff/pull/4882)
- \[`flake8-fixme`] Implement `flake8_fixme` and refactor
`TodoDirective` by
[@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in
[https://github.com/charliermarsh/ruff/pull/4681](https://togithub.com/charliermarsh/ruff/pull/4681)
- \[`flake8-future-annotations`] Implement `FA102` by
[@&#8203;akx](https://togithub.com/akx) in
[https://github.com/charliermarsh/ruff/pull/4702](https://togithub.com/charliermarsh/ruff/pull/4702)
- \[`flake8-pyi`] Add PYI024 for `flake8-pyi` plugin by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4756](https://togithub.com/charliermarsh/ruff/pull/4756)
- \[`flake8-pyi`] Add PYI034 for `flake8-pyi` plugin by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4764](https://togithub.com/charliermarsh/ruff/pull/4764)
- \[`flake8-pyi`] Add `PYI032` rule with autofix by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4695](https://togithub.com/charliermarsh/ruff/pull/4695)
- \[`flake8-pyi`] Add autofix for PYI010 by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4634](https://togithub.com/charliermarsh/ruff/pull/4634)
- \[`flake8-pyi`] Implement PYI029 by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4851](https://togithub.com/charliermarsh/ruff/pull/4851)
- \[`flake8-pyi`] Implement PYI035 by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4820](https://togithub.com/charliermarsh/ruff/pull/4820)
- \[`flake8-pyi`] Implement PYI048 for `flake8-pyi` plugin by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4645](https://togithub.com/charliermarsh/ruff/pull/4645)
- \[`flake8-pyi`] Implement PYI053 by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4770](https://togithub.com/charliermarsh/ruff/pull/4770)
- \[`flake8-pyi`] Implement PYI054 by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4775](https://togithub.com/charliermarsh/ruff/pull/4775)
- \[`flake8-pyi`] Implement `PYI025` by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4791](https://togithub.com/charliermarsh/ruff/pull/4791)
- \[`flake8-pyi`] Implement `PYI045` by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4700](https://togithub.com/charliermarsh/ruff/pull/4700)
- \[`pylint`] Add Pylint rule `C0208` (`use-sequence-for-iteration`) as
`PLC0208` (`iteration-over-set`) by
[@&#8203;tjkuson](https://togithub.com/tjkuson) in
[https://github.com/charliermarsh/ruff/pull/4706](https://togithub.com/charliermarsh/ruff/pull/4706)
- \[`pylint`] Add autofix for `PLR1701` (repeated-isinstance-calls) by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4792](https://togithub.com/charliermarsh/ruff/pull/4792)
- \[`pylint`] Implement Pylint's `yield-inside-async-function` rule
(`PLE1700`) by [@&#8203;chanman3388](https://togithub.com/chanman3388)
in
[https://github.com/charliermarsh/ruff/pull/4668](https://togithub.com/charliermarsh/ruff/pull/4668)
- \[`pylint`] implement E307 for pylint invalid str return type by
[@&#8203;Ryang20718](https://togithub.com/Ryang20718) in
[https://github.com/charliermarsh/ruff/pull/4854](https://togithub.com/charliermarsh/ruff/pull/4854)
- \[`ruff`] Lint pyproject.toml by
[@&#8203;konstin](https://togithub.com/konstin) in
[https://github.com/charliermarsh/ruff/pull/4496](https://togithub.com/charliermarsh/ruff/pull/4496)
- \[`tryceratops`] Ignore error calls with `exc_info` in TRY400 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4797](https://togithub.com/charliermarsh/ruff/pull/4797)

##### Settings

- Add `pyflakes.extend-generics` setting by
[@&#8203;JonathanPlasse](https://togithub.com/JonathanPlasse) in
[https://github.com/charliermarsh/ruff/pull/4677](https://togithub.com/charliermarsh/ruff/pull/4677)

##### Bug Fixes

- Fix PLW3301 false positive single argument nested min/max by
[@&#8203;JonathanPlasse](https://togithub.com/JonathanPlasse) in
[https://github.com/charliermarsh/ruff/pull/4683](https://togithub.com/charliermarsh/ruff/pull/4683)
- Handle dotted alias imports to check for implicit imports by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4685](https://togithub.com/charliermarsh/ruff/pull/4685)
- Flag empty strings in flake8-errmsg rules by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4745](https://togithub.com/charliermarsh/ruff/pull/4745)
- Exclude function definition from too-many-statements rule by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4794](https://togithub.com/charliermarsh/ruff/pull/4794)
- Preserve quotes in F523 fixer by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4836](https://togithub.com/charliermarsh/ruff/pull/4836)
- Fix round-tripping of nested functions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4875](https://togithub.com/charliermarsh/ruff/pull/4875)
- Avoid early-exit in explicit-f-string-type-conversion by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4886](https://togithub.com/charliermarsh/ruff/pull/4886)
- Avoid no-op fix for nested with expressions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4906](https://togithub.com/charliermarsh/ruff/pull/4906)
- Fix UP036 auto-fix error by
[@&#8203;JonathanPlasse](https://togithub.com/JonathanPlasse) in
[https://github.com/charliermarsh/ruff/pull/4679](https://togithub.com/charliermarsh/ruff/pull/4679)
- Use class name as range for `B024` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4647](https://togithub.com/charliermarsh/ruff/pull/4647)
- Change TODO directive detection to work with multiple pound signs on
the same line by
[@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in
[https://github.com/charliermarsh/ruff/pull/4558](https://togithub.com/charliermarsh/ruff/pull/4558)
- Allow more immutable funcs for RUF009 by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4660](https://togithub.com/charliermarsh/ruff/pull/4660)
- Avoid using typing-imported symbols for runtime edits by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4649](https://togithub.com/charliermarsh/ruff/pull/4649)
- Fix `async for` formatting by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4675](https://togithub.com/charliermarsh/ruff/pull/4675)
- Ignore **setattr** in FBT003 by
[@&#8203;alexfikl](https://togithub.com/alexfikl) in
[https://github.com/charliermarsh/ruff/pull/4752](https://togithub.com/charliermarsh/ruff/pull/4752)
- Include ImportError in non-fixable try-catch imports by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4793](https://togithub.com/charliermarsh/ruff/pull/4793)
- Avoid extra newline between diagnostics in grouped mode by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4776](https://togithub.com/charliermarsh/ruff/pull/4776)
- Avoid enforcing native-literals rule within nested f-strings by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4488](https://togithub.com/charliermarsh/ruff/pull/4488)
- Respect mixed variable assignment in RET504 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4835](https://togithub.com/charliermarsh/ruff/pull/4835)
- Make FLY002 autofix into a constant string instead of an f-string if
all `join()` arguments are strings by
[@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in
[https://github.com/charliermarsh/ruff/pull/4834](https://togithub.com/charliermarsh/ruff/pull/4834)
- Add some exceptions for FBT003
([#&#8203;3247](https://togithub.com/charliermarsh/ruff/issues/3247)) by
[@&#8203;allisonkarlitskaya](https://togithub.com/allisonkarlitskaya) in
[https://github.com/charliermarsh/ruff/pull/4867](https://togithub.com/charliermarsh/ruff/pull/4867)
- Avoid running RUF100 rules when code contains syntax errors by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4869](https://togithub.com/charliermarsh/ruff/pull/4869)
- Avoid index-out-of-bands panic for positional placeholders by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4872](https://togithub.com/charliermarsh/ruff/pull/4872)
- Remove destructive fixes for F523 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4883](https://togithub.com/charliermarsh/ruff/pull/4883)
- Respect shadowed exports in `__all__` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4885](https://togithub.com/charliermarsh/ruff/pull/4885)
- Track symbol deletions separately from bindings by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4888](https://togithub.com/charliermarsh/ruff/pull/4888)
- Change fixable_set to include RuleSelector::All/Nursery by
[@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in
[https://github.com/charliermarsh/ruff/pull/4852](https://togithub.com/charliermarsh/ruff/pull/4852)

#### New Contributors

- [@&#8203;bersbersbers](https://togithub.com/bersbersbers) made their
first contribution in
[https://github.com/charliermarsh/ruff/pull/4644](https://togithub.com/charliermarsh/ruff/pull/4644)
- [@&#8203;jlaneve](https://togithub.com/jlaneve) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4690](https://togithub.com/charliermarsh/ruff/pull/4690)
- [@&#8203;suharnikov](https://togithub.com/suharnikov) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4678](https://togithub.com/charliermarsh/ruff/pull/4678)
- [@&#8203;alexfikl](https://togithub.com/alexfikl) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4752](https://togithub.com/charliermarsh/ruff/pull/4752)
- [@&#8203;allisonkarlitskaya](https://togithub.com/allisonkarlitskaya)
made their first contribution in
[https://github.com/charliermarsh/ruff/pull/4867](https://togithub.com/charliermarsh/ruff/pull/4867)
- [@&#8203;Ryang20718](https://togithub.com/Ryang20718) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4854](https://togithub.com/charliermarsh/ruff/pull/4854)
- [@&#8203;addisoncrump](https://togithub.com/addisoncrump) made their
first contribution in
[https://github.com/charliermarsh/ruff/pull/4893](https://togithub.com/charliermarsh/ruff/pull/4893)

**Full Changelog**:
astral-sh/ruff@v0.0.270...v0.0.271

</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:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMTAuMCIsInVwZGF0ZWRJblZlciI6IjM1LjExMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
jankatins referenced this pull request in jankatins/pr-workflow-example Jun 8, 2023
[![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)
([changelog](https://togithub.com/charliermarsh/ruff/releases)) |
`0.0.270` -> `0.0.272` |
[![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/compatibility-slim/0.0.270)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/confidence-slim/0.0.270)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>charliermarsh/ruff</summary>

###
[`v0.0.272`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.272)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.271...v0.0.272)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Breaking Changes

- Move flake8-fixme rules to FIX prefix by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4917](https://togithub.com/charliermarsh/ruff/pull/4917)

##### Rules

- \[`flake8-pyi`] Implement PYI050 by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4884](https://togithub.com/charliermarsh/ruff/pull/4884)

##### Bug Fixes

- Avoid attributing runtime references to module-level imports by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4942](https://togithub.com/charliermarsh/ruff/pull/4942)
- Skip class scopes when resolving nonlocal references by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4943](https://togithub.com/charliermarsh/ruff/pull/4943)
- Apply `dict.get` fix before ternary rewrite by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4944](https://togithub.com/charliermarsh/ruff/pull/4944)
- Handle implicit string concatenations in conversion-flag rewrites by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4947](https://togithub.com/charliermarsh/ruff/pull/4947)
- Make `C413` fix as suggested for `reversed` call by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4891](https://togithub.com/charliermarsh/ruff/pull/4891)
- ignore if using infinite iterators in `B905` by
[@&#8203;kyoto7250](https://togithub.com/kyoto7250) in
[https://github.com/charliermarsh/ruff/pull/4914](https://togithub.com/charliermarsh/ruff/pull/4914)

**Full Changelog**:
astral-sh/ruff@v0.0.271...v0.0.272

###
[`v0.0.271`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.271)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.270...v0.0.271)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Rules

- Add autofix for flake8-type-checking by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4742](https://togithub.com/charliermarsh/ruff/pull/4742)
- \[`airflow`] Add AIR001: task variable name should be same as task_id
arg by [@&#8203;jlaneve](https://togithub.com/jlaneve) in
[https://github.com/charliermarsh/ruff/pull/4687](https://togithub.com/charliermarsh/ruff/pull/4687)
- \[`flake8-bandit`] Implement S609, linux_commands_wildcard_injection
by [@&#8203;scop](https://togithub.com/scop) in
[https://github.com/charliermarsh/ruff/pull/4504](https://togithub.com/charliermarsh/ruff/pull/4504)
- \[`flake8-bugbear`] Move duplicate-value rule to flake8-bugbear by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4882](https://togithub.com/charliermarsh/ruff/pull/4882)
- \[`flake8-fixme`] Implement `flake8_fixme` and refactor
`TodoDirective` by
[@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in
[https://github.com/charliermarsh/ruff/pull/4681](https://togithub.com/charliermarsh/ruff/pull/4681)
- \[`flake8-future-annotations`] Implement `FA102` by
[@&#8203;akx](https://togithub.com/akx) in
[https://github.com/charliermarsh/ruff/pull/4702](https://togithub.com/charliermarsh/ruff/pull/4702)
- \[`flake8-pyi`] Add PYI024 for `flake8-pyi` plugin by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4756](https://togithub.com/charliermarsh/ruff/pull/4756)
- \[`flake8-pyi`] Add PYI034 for `flake8-pyi` plugin by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4764](https://togithub.com/charliermarsh/ruff/pull/4764)
- \[`flake8-pyi`] Add `PYI032` rule with autofix by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4695](https://togithub.com/charliermarsh/ruff/pull/4695)
- \[`flake8-pyi`] Add autofix for PYI010 by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4634](https://togithub.com/charliermarsh/ruff/pull/4634)
- \[`flake8-pyi`] Implement PYI029 by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4851](https://togithub.com/charliermarsh/ruff/pull/4851)
- \[`flake8-pyi`] Implement PYI035 by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4820](https://togithub.com/charliermarsh/ruff/pull/4820)
- \[`flake8-pyi`] Implement PYI048 for `flake8-pyi` plugin by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4645](https://togithub.com/charliermarsh/ruff/pull/4645)
- \[`flake8-pyi`] Implement PYI053 by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4770](https://togithub.com/charliermarsh/ruff/pull/4770)
- \[`flake8-pyi`] Implement PYI054 by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4775](https://togithub.com/charliermarsh/ruff/pull/4775)
- \[`flake8-pyi`] Implement `PYI025` by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4791](https://togithub.com/charliermarsh/ruff/pull/4791)
- \[`flake8-pyi`] Implement `PYI045` by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4700](https://togithub.com/charliermarsh/ruff/pull/4700)
- \[`pylint`] Add Pylint rule `C0208` (`use-sequence-for-iteration`) as
`PLC0208` (`iteration-over-set`) by
[@&#8203;tjkuson](https://togithub.com/tjkuson) in
[https://github.com/charliermarsh/ruff/pull/4706](https://togithub.com/charliermarsh/ruff/pull/4706)
- \[`pylint`] Add autofix for `PLR1701` (repeated-isinstance-calls) by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4792](https://togithub.com/charliermarsh/ruff/pull/4792)
- \[`pylint`] Implement Pylint's `yield-inside-async-function` rule
(`PLE1700`) by [@&#8203;chanman3388](https://togithub.com/chanman3388)
in
[https://github.com/charliermarsh/ruff/pull/4668](https://togithub.com/charliermarsh/ruff/pull/4668)
- \[`pylint`] implement E307 for pylint invalid str return type by
[@&#8203;Ryang20718](https://togithub.com/Ryang20718) in
[https://github.com/charliermarsh/ruff/pull/4854](https://togithub.com/charliermarsh/ruff/pull/4854)
- \[`ruff`] Lint pyproject.toml by
[@&#8203;konstin](https://togithub.com/konstin) in
[https://github.com/charliermarsh/ruff/pull/4496](https://togithub.com/charliermarsh/ruff/pull/4496)
- \[`tryceratops`] Ignore error calls with `exc_info` in TRY400 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4797](https://togithub.com/charliermarsh/ruff/pull/4797)

##### Settings

- Add `pyflakes.extend-generics` setting by
[@&#8203;JonathanPlasse](https://togithub.com/JonathanPlasse) in
[https://github.com/charliermarsh/ruff/pull/4677](https://togithub.com/charliermarsh/ruff/pull/4677)

##### Bug Fixes

- Fix PLW3301 false positive single argument nested min/max by
[@&#8203;JonathanPlasse](https://togithub.com/JonathanPlasse) in
[https://github.com/charliermarsh/ruff/pull/4683](https://togithub.com/charliermarsh/ruff/pull/4683)
- Handle dotted alias imports to check for implicit imports by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4685](https://togithub.com/charliermarsh/ruff/pull/4685)
- Flag empty strings in flake8-errmsg rules by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4745](https://togithub.com/charliermarsh/ruff/pull/4745)
- Exclude function definition from too-many-statements rule by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4794](https://togithub.com/charliermarsh/ruff/pull/4794)
- Preserve quotes in F523 fixer by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4836](https://togithub.com/charliermarsh/ruff/pull/4836)
- Fix round-tripping of nested functions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4875](https://togithub.com/charliermarsh/ruff/pull/4875)
- Avoid early-exit in explicit-f-string-type-conversion by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4886](https://togithub.com/charliermarsh/ruff/pull/4886)
- Avoid no-op fix for nested with expressions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4906](https://togithub.com/charliermarsh/ruff/pull/4906)
- Fix UP036 auto-fix error by
[@&#8203;JonathanPlasse](https://togithub.com/JonathanPlasse) in
[https://github.com/charliermarsh/ruff/pull/4679](https://togithub.com/charliermarsh/ruff/pull/4679)
- Use class name as range for `B024` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4647](https://togithub.com/charliermarsh/ruff/pull/4647)
- Change TODO directive detection to work with multiple pound signs on
the same line by
[@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in
[https://github.com/charliermarsh/ruff/pull/4558](https://togithub.com/charliermarsh/ruff/pull/4558)
- Allow more immutable funcs for RUF009 by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4660](https://togithub.com/charliermarsh/ruff/pull/4660)
- Avoid using typing-imported symbols for runtime edits by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4649](https://togithub.com/charliermarsh/ruff/pull/4649)
- Fix `async for` formatting by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4675](https://togithub.com/charliermarsh/ruff/pull/4675)
- Ignore **setattr** in FBT003 by
[@&#8203;alexfikl](https://togithub.com/alexfikl) in
[https://github.com/charliermarsh/ruff/pull/4752](https://togithub.com/charliermarsh/ruff/pull/4752)
- Include ImportError in non-fixable try-catch imports by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4793](https://togithub.com/charliermarsh/ruff/pull/4793)
- Avoid extra newline between diagnostics in grouped mode by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4776](https://togithub.com/charliermarsh/ruff/pull/4776)
- Avoid enforcing native-literals rule within nested f-strings by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4488](https://togithub.com/charliermarsh/ruff/pull/4488)
- Respect mixed variable assignment in RET504 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4835](https://togithub.com/charliermarsh/ruff/pull/4835)
- Make FLY002 autofix into a constant string instead of an f-string if
all `join()` arguments are strings by
[@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in
[https://github.com/charliermarsh/ruff/pull/4834](https://togithub.com/charliermarsh/ruff/pull/4834)
- Add some exceptions for FBT003
([#&#8203;3247](https://togithub.com/charliermarsh/ruff/issues/3247)) by
[@&#8203;allisonkarlitskaya](https://togithub.com/allisonkarlitskaya) in
[https://github.com/charliermarsh/ruff/pull/4867](https://togithub.com/charliermarsh/ruff/pull/4867)
- Avoid running RUF100 rules when code contains syntax errors by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4869](https://togithub.com/charliermarsh/ruff/pull/4869)
- Avoid index-out-of-bands panic for positional placeholders by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4872](https://togithub.com/charliermarsh/ruff/pull/4872)
- Remove destructive fixes for F523 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4883](https://togithub.com/charliermarsh/ruff/pull/4883)
- Respect shadowed exports in `__all__` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4885](https://togithub.com/charliermarsh/ruff/pull/4885)
- Track symbol deletions separately from bindings by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4888](https://togithub.com/charliermarsh/ruff/pull/4888)
- Change fixable_set to include RuleSelector::All/Nursery by
[@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in
[https://github.com/charliermarsh/ruff/pull/4852](https://togithub.com/charliermarsh/ruff/pull/4852)

#### New Contributors

- [@&#8203;bersbersbers](https://togithub.com/bersbersbers) made their
first contribution in
[https://github.com/charliermarsh/ruff/pull/4644](https://togithub.com/charliermarsh/ruff/pull/4644)
- [@&#8203;jlaneve](https://togithub.com/jlaneve) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4690](https://togithub.com/charliermarsh/ruff/pull/4690)
- [@&#8203;suharnikov](https://togithub.com/suharnikov) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4678](https://togithub.com/charliermarsh/ruff/pull/4678)
- [@&#8203;alexfikl](https://togithub.com/alexfikl) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4752](https://togithub.com/charliermarsh/ruff/pull/4752)
- [@&#8203;allisonkarlitskaya](https://togithub.com/allisonkarlitskaya)
made their first contribution in
[https://github.com/charliermarsh/ruff/pull/4867](https://togithub.com/charliermarsh/ruff/pull/4867)
- [@&#8203;Ryang20718](https://togithub.com/Ryang20718) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4854](https://togithub.com/charliermarsh/ruff/pull/4854)
- [@&#8203;addisoncrump](https://togithub.com/addisoncrump) made their
first contribution in
[https://github.com/charliermarsh/ruff/pull/4893](https://togithub.com/charliermarsh/ruff/pull/4893)

**Full Changelog**:
astral-sh/ruff@v0.0.270...v0.0.271

</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 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/jankatins/pr-workflow-example).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMTAuMCIsInVwZGF0ZWRJblZlciI6IjM1LjExMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
renovate bot referenced this pull request in allenporter/flux-local Jun 10, 2023
[![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)
([changelog](https://togithub.com/charliermarsh/ruff/releases)) |
`==0.0.270` -> `==0.0.272` |
[![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/compatibility-slim/0.0.270)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/confidence-slim/0.0.270)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>charliermarsh/ruff</summary>

###
[`v0.0.272`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.272)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.271...v0.0.272)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Breaking Changes

- Move flake8-fixme rules to FIX prefix by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4917](https://togithub.com/charliermarsh/ruff/pull/4917)

##### Rules

- \[`flake8-pyi`] Implement PYI050 by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4884](https://togithub.com/charliermarsh/ruff/pull/4884)

##### Bug Fixes

- Avoid attributing runtime references to module-level imports by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4942](https://togithub.com/charliermarsh/ruff/pull/4942)
- Skip class scopes when resolving nonlocal references by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4943](https://togithub.com/charliermarsh/ruff/pull/4943)
- Apply `dict.get` fix before ternary rewrite by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4944](https://togithub.com/charliermarsh/ruff/pull/4944)
- Handle implicit string concatenations in conversion-flag rewrites by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4947](https://togithub.com/charliermarsh/ruff/pull/4947)
- Make `C413` fix as suggested for `reversed` call by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4891](https://togithub.com/charliermarsh/ruff/pull/4891)
- ignore if using infinite iterators in `B905` by
[@&#8203;kyoto7250](https://togithub.com/kyoto7250) in
[https://github.com/charliermarsh/ruff/pull/4914](https://togithub.com/charliermarsh/ruff/pull/4914)

**Full Changelog**:
astral-sh/ruff@v0.0.271...v0.0.272

###
[`v0.0.271`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.271)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.270...v0.0.271)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Rules

- Add autofix for flake8-type-checking by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4742](https://togithub.com/charliermarsh/ruff/pull/4742)
- \[`airflow`] Add AIR001: task variable name should be same as task_id
arg by [@&#8203;jlaneve](https://togithub.com/jlaneve) in
[https://github.com/charliermarsh/ruff/pull/4687](https://togithub.com/charliermarsh/ruff/pull/4687)
- \[`flake8-bandit`] Implement S609, linux_commands_wildcard_injection
by [@&#8203;scop](https://togithub.com/scop) in
[https://github.com/charliermarsh/ruff/pull/4504](https://togithub.com/charliermarsh/ruff/pull/4504)
- \[`flake8-bugbear`] Move duplicate-value rule to flake8-bugbear by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4882](https://togithub.com/charliermarsh/ruff/pull/4882)
- \[`flake8-fixme`] Implement `flake8_fixme` and refactor
`TodoDirective` by
[@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in
[https://github.com/charliermarsh/ruff/pull/4681](https://togithub.com/charliermarsh/ruff/pull/4681)
- \[`flake8-future-annotations`] Implement `FA102` by
[@&#8203;akx](https://togithub.com/akx) in
[https://github.com/charliermarsh/ruff/pull/4702](https://togithub.com/charliermarsh/ruff/pull/4702)
- \[`flake8-pyi`] Add PYI024 for `flake8-pyi` plugin by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4756](https://togithub.com/charliermarsh/ruff/pull/4756)
- \[`flake8-pyi`] Add PYI034 for `flake8-pyi` plugin by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4764](https://togithub.com/charliermarsh/ruff/pull/4764)
- \[`flake8-pyi`] Add `PYI032` rule with autofix by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4695](https://togithub.com/charliermarsh/ruff/pull/4695)
- \[`flake8-pyi`] Add autofix for PYI010 by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4634](https://togithub.com/charliermarsh/ruff/pull/4634)
- \[`flake8-pyi`] Implement PYI029 by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4851](https://togithub.com/charliermarsh/ruff/pull/4851)
- \[`flake8-pyi`] Implement PYI035 by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4820](https://togithub.com/charliermarsh/ruff/pull/4820)
- \[`flake8-pyi`] Implement PYI048 for `flake8-pyi` plugin by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4645](https://togithub.com/charliermarsh/ruff/pull/4645)
- \[`flake8-pyi`] Implement PYI053 by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4770](https://togithub.com/charliermarsh/ruff/pull/4770)
- \[`flake8-pyi`] Implement PYI054 by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4775](https://togithub.com/charliermarsh/ruff/pull/4775)
- \[`flake8-pyi`] Implement `PYI025` by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4791](https://togithub.com/charliermarsh/ruff/pull/4791)
- \[`flake8-pyi`] Implement `PYI045` by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4700](https://togithub.com/charliermarsh/ruff/pull/4700)
- \[`pylint`] Add Pylint rule `C0208` (`use-sequence-for-iteration`) as
`PLC0208` (`iteration-over-set`) by
[@&#8203;tjkuson](https://togithub.com/tjkuson) in
[https://github.com/charliermarsh/ruff/pull/4706](https://togithub.com/charliermarsh/ruff/pull/4706)
- \[`pylint`] Add autofix for `PLR1701` (repeated-isinstance-calls) by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4792](https://togithub.com/charliermarsh/ruff/pull/4792)
- \[`pylint`] Implement Pylint's `yield-inside-async-function` rule
(`PLE1700`) by [@&#8203;chanman3388](https://togithub.com/chanman3388)
in
[https://github.com/charliermarsh/ruff/pull/4668](https://togithub.com/charliermarsh/ruff/pull/4668)
- \[`pylint`] implement E307 for pylint invalid str return type by
[@&#8203;Ryang20718](https://togithub.com/Ryang20718) in
[https://github.com/charliermarsh/ruff/pull/4854](https://togithub.com/charliermarsh/ruff/pull/4854)
- \[`ruff`] Lint pyproject.toml by
[@&#8203;konstin](https://togithub.com/konstin) in
[https://github.com/charliermarsh/ruff/pull/4496](https://togithub.com/charliermarsh/ruff/pull/4496)
- \[`tryceratops`] Ignore error calls with `exc_info` in TRY400 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4797](https://togithub.com/charliermarsh/ruff/pull/4797)

##### Settings

- Add `pyflakes.extend-generics` setting by
[@&#8203;JonathanPlasse](https://togithub.com/JonathanPlasse) in
[https://github.com/charliermarsh/ruff/pull/4677](https://togithub.com/charliermarsh/ruff/pull/4677)

##### Bug Fixes

- Fix PLW3301 false positive single argument nested min/max by
[@&#8203;JonathanPlasse](https://togithub.com/JonathanPlasse) in
[https://github.com/charliermarsh/ruff/pull/4683](https://togithub.com/charliermarsh/ruff/pull/4683)
- Handle dotted alias imports to check for implicit imports by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4685](https://togithub.com/charliermarsh/ruff/pull/4685)
- Flag empty strings in flake8-errmsg rules by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4745](https://togithub.com/charliermarsh/ruff/pull/4745)
- Exclude function definition from too-many-statements rule by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4794](https://togithub.com/charliermarsh/ruff/pull/4794)
- Preserve quotes in F523 fixer by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4836](https://togithub.com/charliermarsh/ruff/pull/4836)
- Fix round-tripping of nested functions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4875](https://togithub.com/charliermarsh/ruff/pull/4875)
- Avoid early-exit in explicit-f-string-type-conversion by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4886](https://togithub.com/charliermarsh/ruff/pull/4886)
- Avoid no-op fix for nested with expressions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4906](https://togithub.com/charliermarsh/ruff/pull/4906)
- Fix UP036 auto-fix error by
[@&#8203;JonathanPlasse](https://togithub.com/JonathanPlasse) in
[https://github.com/charliermarsh/ruff/pull/4679](https://togithub.com/charliermarsh/ruff/pull/4679)
- Use class name as range for `B024` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4647](https://togithub.com/charliermarsh/ruff/pull/4647)
- Change TODO directive detection to work with multiple pound signs on
the same line by
[@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in
[https://github.com/charliermarsh/ruff/pull/4558](https://togithub.com/charliermarsh/ruff/pull/4558)
- Allow more immutable funcs for RUF009 by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4660](https://togithub.com/charliermarsh/ruff/pull/4660)
- Avoid using typing-imported symbols for runtime edits by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4649](https://togithub.com/charliermarsh/ruff/pull/4649)
- Fix `async for` formatting by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4675](https://togithub.com/charliermarsh/ruff/pull/4675)
- Ignore **setattr** in FBT003 by
[@&#8203;alexfikl](https://togithub.com/alexfikl) in
[https://github.com/charliermarsh/ruff/pull/4752](https://togithub.com/charliermarsh/ruff/pull/4752)
- Include ImportError in non-fixable try-catch imports by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4793](https://togithub.com/charliermarsh/ruff/pull/4793)
- Avoid extra newline between diagnostics in grouped mode by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4776](https://togithub.com/charliermarsh/ruff/pull/4776)
- Avoid enforcing native-literals rule within nested f-strings by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4488](https://togithub.com/charliermarsh/ruff/pull/4488)
- Respect mixed variable assignment in RET504 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4835](https://togithub.com/charliermarsh/ruff/pull/4835)
- Make FLY002 autofix into a constant string instead of an f-string if
all `join()` arguments are strings by
[@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in
[https://github.com/charliermarsh/ruff/pull/4834](https://togithub.com/charliermarsh/ruff/pull/4834)
- Add some exceptions for FBT003
([#&#8203;3247](https://togithub.com/charliermarsh/ruff/issues/3247)) by
[@&#8203;allisonkarlitskaya](https://togithub.com/allisonkarlitskaya) in
[https://github.com/charliermarsh/ruff/pull/4867](https://togithub.com/charliermarsh/ruff/pull/4867)
- Avoid running RUF100 rules when code contains syntax errors by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4869](https://togithub.com/charliermarsh/ruff/pull/4869)
- Avoid index-out-of-bands panic for positional placeholders by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4872](https://togithub.com/charliermarsh/ruff/pull/4872)
- Remove destructive fixes for F523 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4883](https://togithub.com/charliermarsh/ruff/pull/4883)
- Respect shadowed exports in `__all__` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4885](https://togithub.com/charliermarsh/ruff/pull/4885)
- Track symbol deletions separately from bindings by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4888](https://togithub.com/charliermarsh/ruff/pull/4888)
- Change fixable_set to include RuleSelector::All/Nursery by
[@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in
[https://github.com/charliermarsh/ruff/pull/4852](https://togithub.com/charliermarsh/ruff/pull/4852)

#### New Contributors

- [@&#8203;bersbersbers](https://togithub.com/bersbersbers) made their
first contribution in
[https://github.com/charliermarsh/ruff/pull/4644](https://togithub.com/charliermarsh/ruff/pull/4644)
- [@&#8203;jlaneve](https://togithub.com/jlaneve) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4690](https://togithub.com/charliermarsh/ruff/pull/4690)
- [@&#8203;suharnikov](https://togithub.com/suharnikov) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4678](https://togithub.com/charliermarsh/ruff/pull/4678)
- [@&#8203;alexfikl](https://togithub.com/alexfikl) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4752](https://togithub.com/charliermarsh/ruff/pull/4752)
- [@&#8203;allisonkarlitskaya](https://togithub.com/allisonkarlitskaya)
made their first contribution in
[https://github.com/charliermarsh/ruff/pull/4867](https://togithub.com/charliermarsh/ruff/pull/4867)
- [@&#8203;Ryang20718](https://togithub.com/Ryang20718) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4854](https://togithub.com/charliermarsh/ruff/pull/4854)
- [@&#8203;addisoncrump](https://togithub.com/addisoncrump) made their
first contribution in
[https://github.com/charliermarsh/ruff/pull/4893](https://togithub.com/charliermarsh/ruff/pull/4893)

**Full Changelog**:
astral-sh/ruff@v0.0.270...v0.0.271

</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:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMTAuMCIsInVwZGF0ZWRJblZlciI6IjM1LjExMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in allenporter/pyrainbird Jun 10, 2023
[![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)
([changelog](https://togithub.com/charliermarsh/ruff/releases)) |
`==0.0.270` -> `==0.0.272` |
[![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/compatibility-slim/0.0.270)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/confidence-slim/0.0.270)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>charliermarsh/ruff</summary>

###
[`v0.0.272`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.272)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.271...v0.0.272)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Breaking Changes

- Move flake8-fixme rules to FIX prefix by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4917](https://togithub.com/charliermarsh/ruff/pull/4917)

##### Rules

- \[`flake8-pyi`] Implement PYI050 by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4884](https://togithub.com/charliermarsh/ruff/pull/4884)

##### Bug Fixes

- Avoid attributing runtime references to module-level imports by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4942](https://togithub.com/charliermarsh/ruff/pull/4942)
- Skip class scopes when resolving nonlocal references by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4943](https://togithub.com/charliermarsh/ruff/pull/4943)
- Apply `dict.get` fix before ternary rewrite by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4944](https://togithub.com/charliermarsh/ruff/pull/4944)
- Handle implicit string concatenations in conversion-flag rewrites by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4947](https://togithub.com/charliermarsh/ruff/pull/4947)
- Make `C413` fix as suggested for `reversed` call by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4891](https://togithub.com/charliermarsh/ruff/pull/4891)
- ignore if using infinite iterators in `B905` by
[@&#8203;kyoto7250](https://togithub.com/kyoto7250) in
[https://github.com/charliermarsh/ruff/pull/4914](https://togithub.com/charliermarsh/ruff/pull/4914)

**Full Changelog**:
astral-sh/ruff@v0.0.271...v0.0.272

###
[`v0.0.271`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.271)

[Compare
Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.270...v0.0.271)

<!-- Release notes generated using configuration in .github/release.yml
at main -->

#### What's Changed

##### Rules

- Add autofix for flake8-type-checking by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4742](https://togithub.com/charliermarsh/ruff/pull/4742)
- \[`airflow`] Add AIR001: task variable name should be same as task_id
arg by [@&#8203;jlaneve](https://togithub.com/jlaneve) in
[https://github.com/charliermarsh/ruff/pull/4687](https://togithub.com/charliermarsh/ruff/pull/4687)
- \[`flake8-bandit`] Implement S609, linux_commands_wildcard_injection
by [@&#8203;scop](https://togithub.com/scop) in
[https://github.com/charliermarsh/ruff/pull/4504](https://togithub.com/charliermarsh/ruff/pull/4504)
- \[`flake8-bugbear`] Move duplicate-value rule to flake8-bugbear by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4882](https://togithub.com/charliermarsh/ruff/pull/4882)
- \[`flake8-fixme`] Implement `flake8_fixme` and refactor
`TodoDirective` by
[@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in
[https://github.com/charliermarsh/ruff/pull/4681](https://togithub.com/charliermarsh/ruff/pull/4681)
- \[`flake8-future-annotations`] Implement `FA102` by
[@&#8203;akx](https://togithub.com/akx) in
[https://github.com/charliermarsh/ruff/pull/4702](https://togithub.com/charliermarsh/ruff/pull/4702)
- \[`flake8-pyi`] Add PYI024 for `flake8-pyi` plugin by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4756](https://togithub.com/charliermarsh/ruff/pull/4756)
- \[`flake8-pyi`] Add PYI034 for `flake8-pyi` plugin by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4764](https://togithub.com/charliermarsh/ruff/pull/4764)
- \[`flake8-pyi`] Add `PYI032` rule with autofix by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4695](https://togithub.com/charliermarsh/ruff/pull/4695)
- \[`flake8-pyi`] Add autofix for PYI010 by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4634](https://togithub.com/charliermarsh/ruff/pull/4634)
- \[`flake8-pyi`] Implement PYI029 by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4851](https://togithub.com/charliermarsh/ruff/pull/4851)
- \[`flake8-pyi`] Implement PYI035 by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4820](https://togithub.com/charliermarsh/ruff/pull/4820)
- \[`flake8-pyi`] Implement PYI048 for `flake8-pyi` plugin by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4645](https://togithub.com/charliermarsh/ruff/pull/4645)
- \[`flake8-pyi`] Implement PYI053 by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4770](https://togithub.com/charliermarsh/ruff/pull/4770)
- \[`flake8-pyi`] Implement PYI054 by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4775](https://togithub.com/charliermarsh/ruff/pull/4775)
- \[`flake8-pyi`] Implement `PYI025` by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4791](https://togithub.com/charliermarsh/ruff/pull/4791)
- \[`flake8-pyi`] Implement `PYI045` by
[@&#8203;density](https://togithub.com/density) in
[https://github.com/charliermarsh/ruff/pull/4700](https://togithub.com/charliermarsh/ruff/pull/4700)
- \[`pylint`] Add Pylint rule `C0208` (`use-sequence-for-iteration`) as
`PLC0208` (`iteration-over-set`) by
[@&#8203;tjkuson](https://togithub.com/tjkuson) in
[https://github.com/charliermarsh/ruff/pull/4706](https://togithub.com/charliermarsh/ruff/pull/4706)
- \[`pylint`] Add autofix for `PLR1701` (repeated-isinstance-calls) by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4792](https://togithub.com/charliermarsh/ruff/pull/4792)
- \[`pylint`] Implement Pylint's `yield-inside-async-function` rule
(`PLE1700`) by [@&#8203;chanman3388](https://togithub.com/chanman3388)
in
[https://github.com/charliermarsh/ruff/pull/4668](https://togithub.com/charliermarsh/ruff/pull/4668)
- \[`pylint`] implement E307 for pylint invalid str return type by
[@&#8203;Ryang20718](https://togithub.com/Ryang20718) in
[https://github.com/charliermarsh/ruff/pull/4854](https://togithub.com/charliermarsh/ruff/pull/4854)
- \[`ruff`] Lint pyproject.toml by
[@&#8203;konstin](https://togithub.com/konstin) in
[https://github.com/charliermarsh/ruff/pull/4496](https://togithub.com/charliermarsh/ruff/pull/4496)
- \[`tryceratops`] Ignore error calls with `exc_info` in TRY400 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4797](https://togithub.com/charliermarsh/ruff/pull/4797)

##### Settings

- Add `pyflakes.extend-generics` setting by
[@&#8203;JonathanPlasse](https://togithub.com/JonathanPlasse) in
[https://github.com/charliermarsh/ruff/pull/4677](https://togithub.com/charliermarsh/ruff/pull/4677)

##### Bug Fixes

- Fix PLW3301 false positive single argument nested min/max by
[@&#8203;JonathanPlasse](https://togithub.com/JonathanPlasse) in
[https://github.com/charliermarsh/ruff/pull/4683](https://togithub.com/charliermarsh/ruff/pull/4683)
- Handle dotted alias imports to check for implicit imports by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[https://github.com/charliermarsh/ruff/pull/4685](https://togithub.com/charliermarsh/ruff/pull/4685)
- Flag empty strings in flake8-errmsg rules by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4745](https://togithub.com/charliermarsh/ruff/pull/4745)
- Exclude function definition from too-many-statements rule by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4794](https://togithub.com/charliermarsh/ruff/pull/4794)
- Preserve quotes in F523 fixer by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4836](https://togithub.com/charliermarsh/ruff/pull/4836)
- Fix round-tripping of nested functions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4875](https://togithub.com/charliermarsh/ruff/pull/4875)
- Avoid early-exit in explicit-f-string-type-conversion by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4886](https://togithub.com/charliermarsh/ruff/pull/4886)
- Avoid no-op fix for nested with expressions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4906](https://togithub.com/charliermarsh/ruff/pull/4906)
- Fix UP036 auto-fix error by
[@&#8203;JonathanPlasse](https://togithub.com/JonathanPlasse) in
[https://github.com/charliermarsh/ruff/pull/4679](https://togithub.com/charliermarsh/ruff/pull/4679)
- Use class name as range for `B024` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4647](https://togithub.com/charliermarsh/ruff/pull/4647)
- Change TODO directive detection to work with multiple pound signs on
the same line by
[@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in
[https://github.com/charliermarsh/ruff/pull/4558](https://togithub.com/charliermarsh/ruff/pull/4558)
- Allow more immutable funcs for RUF009 by
[@&#8203;qdegraaf](https://togithub.com/qdegraaf) in
[https://github.com/charliermarsh/ruff/pull/4660](https://togithub.com/charliermarsh/ruff/pull/4660)
- Avoid using typing-imported symbols for runtime edits by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4649](https://togithub.com/charliermarsh/ruff/pull/4649)
- Fix `async for` formatting by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4675](https://togithub.com/charliermarsh/ruff/pull/4675)
- Ignore **setattr** in FBT003 by
[@&#8203;alexfikl](https://togithub.com/alexfikl) in
[https://github.com/charliermarsh/ruff/pull/4752](https://togithub.com/charliermarsh/ruff/pull/4752)
- Include ImportError in non-fixable try-catch imports by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4793](https://togithub.com/charliermarsh/ruff/pull/4793)
- Avoid extra newline between diagnostics in grouped mode by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4776](https://togithub.com/charliermarsh/ruff/pull/4776)
- Avoid enforcing native-literals rule within nested f-strings by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4488](https://togithub.com/charliermarsh/ruff/pull/4488)
- Respect mixed variable assignment in RET504 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4835](https://togithub.com/charliermarsh/ruff/pull/4835)
- Make FLY002 autofix into a constant string instead of an f-string if
all `join()` arguments are strings by
[@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in
[https://github.com/charliermarsh/ruff/pull/4834](https://togithub.com/charliermarsh/ruff/pull/4834)
- Add some exceptions for FBT003
([#&#8203;3247](https://togithub.com/charliermarsh/ruff/issues/3247)) by
[@&#8203;allisonkarlitskaya](https://togithub.com/allisonkarlitskaya) in
[https://github.com/charliermarsh/ruff/pull/4867](https://togithub.com/charliermarsh/ruff/pull/4867)
- Avoid running RUF100 rules when code contains syntax errors by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4869](https://togithub.com/charliermarsh/ruff/pull/4869)
- Avoid index-out-of-bands panic for positional placeholders by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4872](https://togithub.com/charliermarsh/ruff/pull/4872)
- Remove destructive fixes for F523 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4883](https://togithub.com/charliermarsh/ruff/pull/4883)
- Respect shadowed exports in `__all__` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4885](https://togithub.com/charliermarsh/ruff/pull/4885)
- Track symbol deletions separately from bindings by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[https://github.com/charliermarsh/ruff/pull/4888](https://togithub.com/charliermarsh/ruff/pull/4888)
- Change fixable_set to include RuleSelector::All/Nursery by
[@&#8203;evanrittenhouse](https://togithub.com/evanrittenhouse) in
[https://github.com/charliermarsh/ruff/pull/4852](https://togithub.com/charliermarsh/ruff/pull/4852)

#### New Contributors

- [@&#8203;bersbersbers](https://togithub.com/bersbersbers) made their
first contribution in
[https://github.com/charliermarsh/ruff/pull/4644](https://togithub.com/charliermarsh/ruff/pull/4644)
- [@&#8203;jlaneve](https://togithub.com/jlaneve) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4690](https://togithub.com/charliermarsh/ruff/pull/4690)
- [@&#8203;suharnikov](https://togithub.com/suharnikov) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4678](https://togithub.com/charliermarsh/ruff/pull/4678)
- [@&#8203;alexfikl](https://togithub.com/alexfikl) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4752](https://togithub.com/charliermarsh/ruff/pull/4752)
- [@&#8203;allisonkarlitskaya](https://togithub.com/allisonkarlitskaya)
made their first contribution in
[https://github.com/charliermarsh/ruff/pull/4867](https://togithub.com/charliermarsh/ruff/pull/4867)
- [@&#8203;Ryang20718](https://togithub.com/Ryang20718) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4854](https://togithub.com/charliermarsh/ruff/pull/4854)
- [@&#8203;addisoncrump](https://togithub.com/addisoncrump) made their
first contribution in
[https://github.com/charliermarsh/ruff/pull/4893](https://togithub.com/charliermarsh/ruff/pull/4893)

**Full Changelog**:
astral-sh/ruff@v0.0.270...v0.0.271

</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:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMTAuMCIsInVwZGF0ZWRJblZlciI6IjM1LjExMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rule Implementing or modifying a lint rule

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants