Skip to content

[flake8-bandit] Improve SQL injection detection logic (S608)#4499

Merged
charliermarsh merged 4 commits intoastral-sh:mainfrom
scop:feat/s608-improvements
May 18, 2023
Merged

[flake8-bandit] Improve SQL injection detection logic (S608)#4499
charliermarsh merged 4 commits intoastral-sh:mainfrom
scop:feat/s608-improvements

Conversation

@scop
Copy link
Contributor

@scop scop commented May 18, 2023

See individual commits for details.

scop added 4 commits May 18, 2023 17:13
`INTO` is optional for example in MySQL and derivatives.
`REPLACE` is available for example in MySQL and derivatives and SQLite.
@github-actions
Copy link
Contributor

github-actions bot commented May 18, 2023

PR Check Results

Ecosystem

✅ ecosystem check detected no changes.

Benchmark

Linux

group                                      main                                   pr
-----                                      ----                                   --
linter/all-rules/large/dataset.py          1.00     14.0±0.04ms     2.9 MB/sec    1.01     14.1±0.06ms     2.9 MB/sec
linter/all-rules/numpy/ctypeslib.py        1.00      3.4±0.01ms     4.9 MB/sec    1.00      3.4±0.00ms     4.8 MB/sec
linter/all-rules/numpy/globals.py          1.00    425.6±1.03µs     6.9 MB/sec    1.00    425.0±1.00µs     6.9 MB/sec
linter/all-rules/pydantic/types.py         1.00      5.8±0.01ms     4.4 MB/sec    1.00      5.8±0.01ms     4.4 MB/sec
linter/default-rules/large/dataset.py      1.00      6.8±0.01ms     6.0 MB/sec    1.00      6.8±0.01ms     6.0 MB/sec
linter/default-rules/numpy/ctypeslib.py    1.00   1473.8±4.18µs    11.3 MB/sec    1.00   1468.4±2.62µs    11.3 MB/sec
linter/default-rules/numpy/globals.py      1.01    165.1±0.66µs    17.9 MB/sec    1.00    164.1±1.61µs    18.0 MB/sec
linter/default-rules/pydantic/types.py     1.00      3.1±0.01ms     8.3 MB/sec    1.00      3.1±0.01ms     8.3 MB/sec
parser/large/dataset.py                    1.01      5.4±0.00ms     7.5 MB/sec    1.00      5.4±0.00ms     7.6 MB/sec
parser/numpy/ctypeslib.py                  1.00   1062.6±1.08µs    15.7 MB/sec    1.00   1059.3±1.82µs    15.7 MB/sec
parser/numpy/globals.py                    1.00    109.4±0.43µs    27.0 MB/sec    1.00    108.9±1.62µs    27.1 MB/sec
parser/pydantic/types.py                   1.00      2.3±0.00ms    11.0 MB/sec    1.00      2.3±0.01ms    11.1 MB/sec

Windows

group                                      main                                   pr
-----                                      ----                                   --
linter/all-rules/large/dataset.py          1.00     16.6±0.22ms     2.4 MB/sec    1.08     18.0±0.18ms     2.3 MB/sec
linter/all-rules/numpy/ctypeslib.py        1.00      4.2±0.04ms     3.9 MB/sec    1.07      4.5±0.06ms     3.7 MB/sec
linter/all-rules/numpy/globals.py          1.02    502.4±9.30µs     5.9 MB/sec    1.00    494.8±7.25µs     6.0 MB/sec
linter/all-rules/pydantic/types.py         1.00      7.1±0.12ms     3.6 MB/sec    1.02      7.2±0.31ms     3.5 MB/sec
linter/default-rules/large/dataset.py      1.00      8.3±0.07ms     4.9 MB/sec    1.00      8.3±0.10ms     4.9 MB/sec
linter/default-rules/numpy/ctypeslib.py    1.00  1728.3±16.09µs     9.6 MB/sec    1.00  1734.0±22.65µs     9.6 MB/sec
linter/default-rules/numpy/globals.py      1.00    197.8±2.49µs    14.9 MB/sec    1.00    198.3±6.60µs    14.9 MB/sec
linter/default-rules/pydantic/types.py     1.00      3.7±0.03ms     6.9 MB/sec    1.00      3.7±0.06ms     6.9 MB/sec
parser/large/dataset.py                    1.00      6.7±0.04ms     6.1 MB/sec    1.01      6.8±0.10ms     6.0 MB/sec
parser/numpy/ctypeslib.py                  1.00  1285.0±40.94µs    13.0 MB/sec    1.01  1295.8±16.14µs    12.9 MB/sec
parser/numpy/globals.py                    1.00    130.9±2.04µs    22.5 MB/sec    1.02    133.4±2.17µs    22.1 MB/sec
parser/pydantic/types.py                   1.00      2.8±0.03ms     9.0 MB/sec    1.02      2.9±0.03ms     8.8 MB/sec

@charliermarsh charliermarsh merged commit fdd8941 into astral-sh:main May 18, 2023
@charliermarsh
Copy link
Member

Looks reasonable to me.

@charliermarsh charliermarsh added the rule Implementing or modifying a lint rule label May 18, 2023
@charliermarsh charliermarsh changed the title S608 improvements [flake8-bandit] Improve SQL injection detection logic (S608) May 18, 2023
@scop scop deleted the feat/s608-improvements branch May 18, 2023 16:08
renovate bot referenced this pull request in ixm-one/pytest-cmake-presets May 19, 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.267` -> `^0.0.269` |
[![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/compatibility-slim/0.0.267)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/confidence-slim/0.0.267)](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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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 [@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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 [@&#8203;TylerYep](https://togithub.com/TylerYep) in
[https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979)
- Enable `pycodestyle` rules by
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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-@&#8203; by
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;JonathanPlasse](https://togithub.com/JonathanPlasse) in
[https://github.com/charliermarsh/ruff/pull/4493](https://togithub.com/charliermarsh/ruff/pull/4493)
- Overhaul sdist handling by
[@&#8203;konstin](https://togithub.com/konstin) in
[https://github.com/charliermarsh/ruff/pull/4439](https://togithub.com/charliermarsh/ruff/pull/4439)

#### New Contributors

- [@&#8203;TylerYep](https://togithub.com/TylerYep) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979)
- [@&#8203;yanksyoon](https://togithub.com/yanksyoon) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4428](https://togithub.com/charliermarsh/ruff/pull/4428)
- [@&#8203;bendoerry](https://togithub.com/bendoerry) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4431](https://togithub.com/charliermarsh/ruff/pull/4431)
- [@&#8203;qdegraaf](https://togithub.com/qdegraaf) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4432](https://togithub.com/charliermarsh/ruff/pull/4432)
- [@&#8203;jameslamb](https://togithub.com/jameslamb) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4446](https://togithub.com/charliermarsh/ruff/pull/4446)
- [@&#8203;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>
renovate bot referenced this pull request in allenporter/pyrainbird May 20, 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.267` -> `==0.0.269` |
[![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/compatibility-slim/0.0.267)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/confidence-slim/0.0.267)](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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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 [@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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 [@&#8203;TylerYep](https://togithub.com/TylerYep) in
[https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979)
- Enable `pycodestyle` rules by
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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-@&#8203; by
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;JonathanPlasse](https://togithub.com/JonathanPlasse) in
[https://github.com/charliermarsh/ruff/pull/4493](https://togithub.com/charliermarsh/ruff/pull/4493)
- Overhaul sdist handling by
[@&#8203;konstin](https://togithub.com/konstin) in
[https://github.com/charliermarsh/ruff/pull/4439](https://togithub.com/charliermarsh/ruff/pull/4439)

#### New Contributors

- [@&#8203;TylerYep](https://togithub.com/TylerYep) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979)
- [@&#8203;yanksyoon](https://togithub.com/yanksyoon) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4428](https://togithub.com/charliermarsh/ruff/pull/4428)
- [@&#8203;bendoerry](https://togithub.com/bendoerry) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4431](https://togithub.com/charliermarsh/ruff/pull/4431)
- [@&#8203;qdegraaf](https://togithub.com/qdegraaf) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4432](https://togithub.com/charliermarsh/ruff/pull/4432)
- [@&#8203;jameslamb](https://togithub.com/jameslamb) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4446](https://togithub.com/charliermarsh/ruff/pull/4446)
- [@&#8203;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>
renovate bot referenced this pull request in allenporter/flux-local May 20, 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.267` -> `==0.0.269` |
[![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/compatibility-slim/0.0.267)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/confidence-slim/0.0.267)](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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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 [@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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 [@&#8203;TylerYep](https://togithub.com/TylerYep) in
[https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979)
- Enable `pycodestyle` rules by
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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-@&#8203; by
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;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
[@&#8203;JonathanPlasse](https://togithub.com/JonathanPlasse) in
[https://github.com/charliermarsh/ruff/pull/4493](https://togithub.com/charliermarsh/ruff/pull/4493)
- Overhaul sdist handling by
[@&#8203;konstin](https://togithub.com/konstin) in
[https://github.com/charliermarsh/ruff/pull/4439](https://togithub.com/charliermarsh/ruff/pull/4439)

#### New Contributors

- [@&#8203;TylerYep](https://togithub.com/TylerYep) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979)
- [@&#8203;yanksyoon](https://togithub.com/yanksyoon) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4428](https://togithub.com/charliermarsh/ruff/pull/4428)
- [@&#8203;bendoerry](https://togithub.com/bendoerry) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4431](https://togithub.com/charliermarsh/ruff/pull/4431)
- [@&#8203;qdegraaf](https://togithub.com/qdegraaf) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4432](https://togithub.com/charliermarsh/ruff/pull/4432)
- [@&#8203;jameslamb](https://togithub.com/jameslamb) made their first
contribution in
[https://github.com/charliermarsh/ruff/pull/4446](https://togithub.com/charliermarsh/ruff/pull/4446)
- [@&#8203;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>
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