Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use the unicode-ident crate #7212

Merged
merged 1 commit into from
Sep 7, 2023
Merged

Use the unicode-ident crate #7212

merged 1 commit into from
Sep 7, 2023

Conversation

MichaReiser
Copy link
Member

@MichaReiser MichaReiser commented Sep 7, 2023

Summary

This PR replaces the unic-ucd-ident with the much faster and smaller unicode-ident crate.

I don't expect this PR to improve performance in our benchmarks because

a) We have no test files with unicode identifiers
b) Our lexer has a fast path that bypasses the is_identifier_start for ascii characters.

This PR further removes the emoji identifier support which is not part of Python's identifier specification

Test Plan

cargo test

Wait for the ecosystem check

Performance

I extended the unicode-ident 's benchmark to also include unic-ucd-ident . unicode-ident outperforms it significantly

Running benches/ident.rs (target/release/deps/ident-ad9d9d2d593f7661)
Gnuplot not found, using plotters backend
0%-nonascii/baseline    time:   [217.56 µs 217.84 µs 218.14 µs]
0%-nonascii/unicode-ident
                        time:   [417.51 µs 418.02 µs 418.55 µs]
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
0%-nonascii/unicode-xid time:   [1.5056 ms 1.5061 ms 1.5066 ms]
Found 2 outliers among 100 measurements (2.00%)
  1 (1.00%) high mild
  1 (1.00%) high severe
0%-nonascii/unic-ucd-ident
                        time:   [9.8530 ms 9.8653 ms 9.8804 ms]
Found 7 outliers among 100 measurements (7.00%)
  3 (3.00%) high mild
  4 (4.00%) high severe

1%-nonascii/baseline    time:   [239.63 µs 240.05 µs 240.60 µs]
1%-nonascii/unicode-ident
                        time:   [442.01 µs 443.87 µs 446.10 µs]
1%-nonascii/unicode-xid time:   [1.5937 ms 1.5941 ms 1.5946 ms]
Found 5 outliers among 100 measurements (5.00%)
  3 (3.00%) high mild
  2 (2.00%) high severe
1%-nonascii/unic-ucd-ident
                        time:   [10.102 ms 10.145 ms 10.187 ms]

10%-nonascii/baseline   time:   [493.61 µs 493.94 µs 494.35 µs]
Found 14 outliers among 100 measurements (14.00%)
  1 (1.00%) low mild
  9 (9.00%) high mild
  4 (4.00%) high severe
10%-nonascii/unicode-ident
                        time:   [671.83 µs 672.38 µs 673.02 µs]
Found 5 outliers among 100 measurements (5.00%)
  3 (3.00%) high mild
  2 (2.00%) high severe
Benchmarking 10%-nonascii/unicode-xid: Warming up for 3.0000 s
Warning: Unable to complete 100 samples in 10.0s. You may wish to increase target time to 13.7s, enable flat sampling, or reduce sample count to 60.
10%-nonascii/unicode-xid
                        time:   [2.6001 ms 2.6043 ms 2.6094 ms]
10%-nonascii/unic-ucd-ident
                        time:   [10.434 ms 10.448 ms 10.460 ms]
Found 7 outliers among 100 measurements (7.00%)
  4 (4.00%) low severe
  1 (1.00%) high mild
  2 (2.00%) high severe

100%-nonascii/baseline  time:   [609.36 µs 611.90 µs 614.95 µs]
Found 25 outliers among 100 measurements (25.00%)
  25 (25.00%) low mild
100%-nonascii/unicode-ident
                        time:   [1.4087 ms 1.4127 ms 1.4161 ms]
Found 14 outliers among 100 measurements (14.00%)
  12 (12.00%) low severe
  2 (2.00%) low mild
100%-nonascii/unicode-xid
                        time:   [11.733 ms 11.742 ms 11.754 ms]
Found 6 outliers among 100 measurements (6.00%)
  3 (3.00%) high mild
  3 (3.00%) high severe
100%-nonascii/unic-ucd-ident
                        time:   [10.895 ms 10.897 ms 10.900 ms]
Found 2 outliers among 100 measurements (2.00%)
  2 (2.00%) low mild

@MichaReiser
Copy link
Member Author

Current dependencies on/for this PR:

This comment was auto-generated by Graphite.

@MichaReiser MichaReiser added breaking Breaking API change parser Related to the parser labels Sep 7, 2023
@konstin
Copy link
Member

konstin commented Sep 7, 2023

This PR further removes the emoji identifier support which is not part of Python's identifier specification

A test for that would be good

@MichaReiser MichaReiser enabled auto-merge (squash) September 7, 2023 08:19
@MichaReiser MichaReiser merged commit f1a4eb9 into main Sep 7, 2023
@MichaReiser MichaReiser deleted the use-unicode-ident branch September 7, 2023 08:19
@github-actions
Copy link
Contributor

github-actions bot commented Sep 7, 2023

PR Check Results

Ecosystem

✅ ecosystem check detected no changes.

renovate bot referenced this pull request in ixm-one/pytest-cmake-presets Sep 11, 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://beta.ruff.rs/docs)
([source](https://github.com/astral-sh/ruff),
[changelog](https://github.com/astral-sh/ruff/releases)) | `^0.0.287`
-> `^0.0.288` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.288?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.288?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.287/0.0.288?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.287/0.0.288?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

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

[Compare
Source](https://github.com/astral-sh/ruff/compare/v0.0.287...v0.0.288)

#### What's Changed

##### Breaking Changes

- Remove emoji identifier support by
[@&#8203;MichaReiser](https://github.com/MichaReiser) in
[https://github.com/astral-sh/ruff/pull/7212](https://github.com/astral-sh/ruff/pull/7212)
- Location agnostic GitLab fingerprints by
[@&#8203;gregersn](https://github.com/gregersn) in
[https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203)

##### Rules

-   \[`ruff`]
- `RUF001`: Remove autofix for ambiguous unicode rule by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7168](https://github.com/astral-sh/ruff/pull/7168)

##### Settings

-   \[`flake8-self`]
- `SLF001`: Add `extend-ignore-names` option by
[@&#8203;jaap3](https://github.com/jaap3) in
[https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194)

##### Bug Fixes

-   \[`flake8-bugbear`]
- `B006`: Add newline if fix is at end-of-file by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7090](https://github.com/astral-sh/ruff/pull/7090)
- `B006`: Fix function docstring followed by whitespace but no newline
by [@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/7160](https://github.com/astral-sh/ruff/pull/7160)
- `B009`: Parenthesize expressions when converting to attribute access
by [@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7091](https://github.com/astral-sh/ruff/pull/7091)
- `B009`, `B010`: Fix `getattr` calls on `int` literals by
[@&#8203;density](https://github.com/density) in
[https://github.com/astral-sh/ruff/pull/7057](https://github.com/astral-sh/ruff/pull/7057)
- `B013`: Supported starred exceptions in length-one tuple detection by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7080](https://github.com/astral-sh/ruff/pull/7080)
- `B013`: Insert required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7148](https://github.com/astral-sh/ruff/pull/7148)
-   \[`flake8-comprehensions`]
- `C402`: Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7152](https://github.com/astral-sh/ruff/pull/7152)
- `C404` Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7185](https://github.com/astral-sh/ruff/pull/7185)
- `C416` Add required space to fix by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7204](https://github.com/astral-sh/ruff/pull/7204)
- `C417`: Support length-2 lists in dictionary comprehension rewrites by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7081](https://github.com/astral-sh/ruff/pull/7081)
- `C417`: Parenthesize targets if necessary by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7189](https://github.com/astral-sh/ruff/pull/7189)
-   \[`flake8-return`]
- `RET504`: Add space after return when inlining number by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7116](https://github.com/astral-sh/ruff/pull/7116)
-   \[`flake8-simplify`]
- `SIM105`: Avoid attempting to fix violations with multi-statement
lines by [@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7191](https://github.com/astral-sh/ruff/pull/7191)
- `SIM105` Avoid inserting an extra newline for fixes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7221](https://github.com/astral-sh/ruff/pull/7221)
- `SIM118`: Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7150](https://github.com/astral-sh/ruff/pull/7150)
- `SIM118`: delete `.keys()` rather than replace expression by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7223](https://github.com/astral-sh/ruff/pull/7223)
- `SIM210`: Retain parentheses when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7118](https://github.com/astral-sh/ruff/pull/7118)
- `SIM222`: Add parentheses when simplifying conditions by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7117](https://github.com/astral-sh/ruff/pull/7117)
- `SIM300`: Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7167](https://github.com/astral-sh/ruff/pull/7167)
-   \[`flake8-pytest-style`]
- `PT018`: Split within `not`, rather than outside of `not` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7151](https://github.com/astral-sh/ruff/pull/7151)
-   \[`flynt`]
- `FLY002`: Add required space for fixes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7222](https://github.com/astral-sh/ruff/pull/7222)
-   \[`numpy`]
- `NPY001`: Avoid attempting to fix with overridden builtins by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7187](https://github.com/astral-sh/ruff/pull/7187)
- `NPY003`: Use symbol import for replacement by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7083](https://github.com/astral-sh/ruff/pull/7083)
-   \[`pandas-vet`]
- `PD002`: Handle parenthesized calls by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7111](https://github.com/astral-sh/ruff/pull/7111)
-   \[`pep8-naming`]
- `N806`: Avoid triggering on `TypeAlias` assignments by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7119](https://github.com/astral-sh/ruff/pull/7119)
-   \[`pydocstyle`]
- `D204`: Fix when there's a semicolon after a docstring by
[@&#8203;konstin](https://github.com/konstin) in
[https://github.com/astral-sh/ruff/pull/7174](https://github.com/astral-sh/ruff/pull/7174)
- `D213`, `D400`: Ignore single quote docstrings with newline escape by
[@&#8203;konstin](https://github.com/konstin) in
[https://github.com/astral-sh/ruff/pull/7173](https://github.com/astral-sh/ruff/pull/7173)
- `D417`: Fix error with function docstrings with dashed lines by
[@&#8203;eronnen](https://github.com/eronnen) in
[https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251)
-   \[`pyflakes`]
- `F401`: Avoid panic with noqa import name by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7260](https://github.com/astral-sh/ruff/pull/7260)
- `F841`: Expand fixes to handle parenthesized targets by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7110](https://github.com/astral-sh/ruff/pull/7110)
-   \[`pylint`]
- `PLW3301`: Copy the starred argument as is for autofix by
[@&#8203;dhruvmanila](https://github.com/dhruvmanila) in
[https://github.com/astral-sh/ruff/pull/7177](https://github.com/astral-sh/ruff/pull/7177)
-   \[`pyupgrade`]
- `UP006` and `UP007`: Add required space to fixes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7202](https://github.com/astral-sh/ruff/pull/7202)
- `UP007`: Avoid attempting to fix invalid `Optional` annotations by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7079](https://github.com/astral-sh/ruff/pull/7079)
- `UP007`: Fix syntax error in autofix by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7137](https://github.com/astral-sh/ruff/pull/7137)
- `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7112](https://github.com/astral-sh/ruff/pull/7112)
- `UP022`: Avoid adding duplicate `capture_output` keyword to
`subprocess.run` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7113](https://github.com/astral-sh/ruff/pull/7113)
- `UP028`: Support parenthesized expressions by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7114](https://github.com/astral-sh/ruff/pull/7114)
- `UP022`: Avoid fixing when `capture_output` is provided by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7149](https://github.com/astral-sh/ruff/pull/7149)
- `UP024`: Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7171](https://github.com/astral-sh/ruff/pull/7171)
-   \[`ruff`]
- `RUF017`: Avoid duplicate fixes for multi-import imports by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7063](https://github.com/astral-sh/ruff/pull/7063)
- Fix named expression precedence in generator by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7170](https://github.com/astral-sh/ruff/pull/7170)
- Fix precedence of annotated assignments in generator by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7115](https://github.com/astral-sh/ruff/pull/7115)
- Update identifier Unicode character validation to match Python spec by
[@&#8203;LaBatata101](https://github.com/LaBatata101) in
[https://github.com/astral-sh/ruff/pull/7209](https://github.com/astral-sh/ruff/pull/7209)

##### Other Changes

- Added argfile test and documentation by
[@&#8203;njgrisafi](https://github.com/njgrisafi) in
[https://github.com/astral-sh/ruff/pull/7138](https://github.com/astral-sh/ruff/pull/7138)

#### New Contributors

- [@&#8203;oliviacrain](https://github.com/oliviacrain) made their
first contribution in
[https://github.com/astral-sh/ruff/pull/7093](https://github.com/astral-sh/ruff/pull/7093)
- [@&#8203;dalgarno](https://github.com/dalgarno) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7108](https://github.com/astral-sh/ruff/pull/7108)
- [@&#8203;manmartgarc](https://github.com/manmartgarc) made their
first contribution in
[https://github.com/astral-sh/ruff/pull/7179](https://github.com/astral-sh/ruff/pull/7179)
- [@&#8203;jaap3](https://github.com/jaap3) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194)
- [@&#8203;gregersn](https://github.com/gregersn) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203)
- [@&#8203;eronnen](https://github.com/eronnen) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251)

**Full Changelog**:
astral-sh/ruff@v0.0.287...v0.0.288

</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://developer.mend.io/github/ixm-one/pytest-cmake-presets).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in allenporter/pyrainbird Sep 14, 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://beta.ruff.rs/docs)
([source](https://github.com/astral-sh/ruff),
[changelog](https://github.com/astral-sh/ruff/releases)) | `==0.0.287`
-> `==0.0.289` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.287/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.287/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

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

[Compare
Source](https://github.com/astral-sh/ruff/compare/v0.0.288...v0.0.289)

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

#### What's Changed

##### Bug Fixes

- Invert condition for < and <= in outdated version block by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7284](https://github.com/astral-sh/ruff/pull/7284)
- Ignore `@override` method when enforcing `bad-dunder-name` rule by
[@&#8203;brendonh8](https://github.com/brendonh8) in
[https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224)
- Add `NotebookIndex` to the cache by
[@&#8203;dhruvmanila](https://github.com/dhruvmanila) in
[https://github.com/astral-sh/ruff/pull/6863](https://github.com/astral-sh/ruff/pull/6863)

##### Preview

This release includes a new preview mode which can be used to opt-in to
unstable rules and features.

- Update rule selection to respect preview mode by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/7195](https://github.com/astral-sh/ruff/pull/7195)
- Display the `--preview` option in the CLI help menu by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/7274](https://github.com/astral-sh/ruff/pull/7274)

See the [documentation](https://beta.ruff.rs/docs/preview/) and
[versioning
discussion](https://github.com/astral-sh/ruff/discussions/6998) for
more details.

#### New Contributors

- [@&#8203;brendonh8](https://github.com/brendonh8) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224)

**Full Changelog**:
astral-sh/ruff@v0.0.288...v0.0.289

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

[Compare
Source](https://github.com/astral-sh/ruff/compare/v0.0.287...v0.0.288)

#### What's Changed

##### Breaking Changes

- Remove emoji identifier support by
[@&#8203;MichaReiser](https://github.com/MichaReiser) in
[https://github.com/astral-sh/ruff/pull/7212](https://github.com/astral-sh/ruff/pull/7212)
- Location agnostic GitLab fingerprints by
[@&#8203;gregersn](https://github.com/gregersn) in
[https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203)

##### Rules

-   \[`ruff`]
- `RUF001`: Remove autofix for ambiguous unicode rule by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7168](https://github.com/astral-sh/ruff/pull/7168)

##### Settings

-   \[`flake8-self`]
- `SLF001`: Add `extend-ignore-names` option by
[@&#8203;jaap3](https://github.com/jaap3) in
[https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194)

##### Bug Fixes

-   \[`flake8-bugbear`]
- `B006`: Add newline if fix is at end-of-file by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7090](https://github.com/astral-sh/ruff/pull/7090)
- `B006`: Fix function docstring followed by whitespace but no newline
by [@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/7160](https://github.com/astral-sh/ruff/pull/7160)
- `B009`: Parenthesize expressions when converting to attribute access
by [@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7091](https://github.com/astral-sh/ruff/pull/7091)
- `B009`, `B010`: Fix `getattr` calls on `int` literals by
[@&#8203;density](https://github.com/density) in
[https://github.com/astral-sh/ruff/pull/7057](https://github.com/astral-sh/ruff/pull/7057)
- `B013`: Supported starred exceptions in length-one tuple detection by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7080](https://github.com/astral-sh/ruff/pull/7080)
- `B013`: Insert required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7148](https://github.com/astral-sh/ruff/pull/7148)
-   \[`flake8-comprehensions`]
- `C402`: Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7152](https://github.com/astral-sh/ruff/pull/7152)
- `C404` Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7185](https://github.com/astral-sh/ruff/pull/7185)
- `C416` Add required space to fix by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7204](https://github.com/astral-sh/ruff/pull/7204)
- `C417`: Support length-2 lists in dictionary comprehension rewrites by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7081](https://github.com/astral-sh/ruff/pull/7081)
- `C417`: Parenthesize targets if necessary by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7189](https://github.com/astral-sh/ruff/pull/7189)
-   \[`flake8-return`]
- `RET504`: Add space after return when inlining number by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7116](https://github.com/astral-sh/ruff/pull/7116)
-   \[`flake8-simplify`]
- `SIM105`: Avoid attempting to fix violations with multi-statement
lines by [@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7191](https://github.com/astral-sh/ruff/pull/7191)
- `SIM105` Avoid inserting an extra newline for fixes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7221](https://github.com/astral-sh/ruff/pull/7221)
- `SIM118`: Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7150](https://github.com/astral-sh/ruff/pull/7150)
- `SIM118`: delete `.keys()` rather than replace expression by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7223](https://github.com/astral-sh/ruff/pull/7223)
- `SIM210`: Retain parentheses when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7118](https://github.com/astral-sh/ruff/pull/7118)
- `SIM222`: Add parentheses when simplifying conditions by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7117](https://github.com/astral-sh/ruff/pull/7117)
- `SIM300`: Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7167](https://github.com/astral-sh/ruff/pull/7167)
-   \[`flake8-pytest-style`]
- `PT018`: Split within `not`, rather than outside of `not` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7151](https://github.com/astral-sh/ruff/pull/7151)
-   \[`flynt`]
- `FLY002`: Add required space for fixes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7222](https://github.com/astral-sh/ruff/pull/7222)
-   \[`numpy`]
- `NPY001`: Avoid attempting to fix with overridden builtins by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7187](https://github.com/astral-sh/ruff/pull/7187)
- `NPY003`: Use symbol import for replacement by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7083](https://github.com/astral-sh/ruff/pull/7083)
-   \[`pandas-vet`]
- `PD002`: Handle parenthesized calls by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7111](https://github.com/astral-sh/ruff/pull/7111)
-   \[`pep8-naming`]
- `N806`: Avoid triggering on `TypeAlias` assignments by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7119](https://github.com/astral-sh/ruff/pull/7119)
-   \[`pydocstyle`]
- `D204`: Fix when there's a semicolon after a docstring by
[@&#8203;konstin](https://github.com/konstin) in
[https://github.com/astral-sh/ruff/pull/7174](https://github.com/astral-sh/ruff/pull/7174)
- `D213`, `D400`: Ignore single quote docstrings with newline escape by
[@&#8203;konstin](https://github.com/konstin) in
[https://github.com/astral-sh/ruff/pull/7173](https://github.com/astral-sh/ruff/pull/7173)
- `D417`: Fix error with function docstrings with dashed lines by
[@&#8203;eronnen](https://github.com/eronnen) in
[https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251)
-   \[`pyflakes`]
- `F401`: Avoid panic with noqa import name by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7260](https://github.com/astral-sh/ruff/pull/7260)
- `F841`: Expand fixes to handle parenthesized targets by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7110](https://github.com/astral-sh/ruff/pull/7110)
-   \[`pylint`]
- `PLW3301`: Copy the starred argument as is for autofix by
[@&#8203;dhruvmanila](https://github.com/dhruvmanila) in
[https://github.com/astral-sh/ruff/pull/7177](https://github.com/astral-sh/ruff/pull/7177)
-   \[`pyupgrade`]
- `UP006` and `UP007`: Add required space to fixes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7202](https://github.com/astral-sh/ruff/pull/7202)
- `UP007`: Avoid attempting to fix invalid `Optional` annotations by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7079](https://github.com/astral-sh/ruff/pull/7079)
- `UP007`: Fix syntax error in autofix by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7137](https://github.com/astral-sh/ruff/pull/7137)
- `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7112](https://github.com/astral-sh/ruff/pull/7112)
- `UP022`: Avoid adding duplicate `capture_output` keyword to
`subprocess.run` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7113](https://github.com/astral-sh/ruff/pull/7113)
- `UP028`: Support parenthesized expressions by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7114](https://github.com/astral-sh/ruff/pull/7114)
- `UP022`: Avoid fixing when `capture_output` is provided by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7149](https://github.com/astral-sh/ruff/pull/7149)
- `UP024`: Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7171](https://github.com/astral-sh/ruff/pull/7171)
-   \[`ruff`]
- `RUF017`: Avoid duplicate fixes for multi-import imports by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7063](https://github.com/astral-sh/ruff/pull/7063)
- Fix named expression precedence in generator by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7170](https://github.com/astral-sh/ruff/pull/7170)
- Fix precedence of annotated assignments in generator by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7115](https://github.com/astral-sh/ruff/pull/7115)
- Update identifier Unicode character validation to match Python spec by
[@&#8203;LaBatata101](https://github.com/LaBatata101) in
[https://github.com/astral-sh/ruff/pull/7209](https://github.com/astral-sh/ruff/pull/7209)

##### Other Changes

- Added argfile test and documentation by
[@&#8203;njgrisafi](https://github.com/njgrisafi) in
[https://github.com/astral-sh/ruff/pull/7138](https://github.com/astral-sh/ruff/pull/7138)

#### New Contributors

- [@&#8203;oliviacrain](https://github.com/oliviacrain) made their
first contribution in
[https://github.com/astral-sh/ruff/pull/7093](https://github.com/astral-sh/ruff/pull/7093)
- [@&#8203;dalgarno](https://github.com/dalgarno) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7108](https://github.com/astral-sh/ruff/pull/7108)
- [@&#8203;manmartgarc](https://github.com/manmartgarc) made their
first contribution in
[https://github.com/astral-sh/ruff/pull/7179](https://github.com/astral-sh/ruff/pull/7179)
- [@&#8203;jaap3](https://github.com/jaap3) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194)
- [@&#8203;gregersn](https://github.com/gregersn) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203)
- [@&#8203;eronnen](https://github.com/eronnen) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251)

**Full Changelog**:
astral-sh/ruff@v0.0.287...v0.0.288

</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://developer.mend.io/github/allenporter/pyrainbird).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in allenporter/flux-local Sep 14, 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://beta.ruff.rs/docs)
([source](https://github.com/astral-sh/ruff),
[changelog](https://github.com/astral-sh/ruff/releases)) | `==0.0.287`
-> `==0.0.289` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.287/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.287/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

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

[Compare
Source](https://github.com/astral-sh/ruff/compare/v0.0.288...v0.0.289)

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

#### What's Changed

##### Bug Fixes

- Invert condition for < and <= in outdated version block by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7284](https://github.com/astral-sh/ruff/pull/7284)
- Ignore `@override` method when enforcing `bad-dunder-name` rule by
[@&#8203;brendonh8](https://github.com/brendonh8) in
[https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224)
- Add `NotebookIndex` to the cache by
[@&#8203;dhruvmanila](https://github.com/dhruvmanila) in
[https://github.com/astral-sh/ruff/pull/6863](https://github.com/astral-sh/ruff/pull/6863)

##### Preview

This release includes a new preview mode which can be used to opt-in to
unstable rules and features.

- Update rule selection to respect preview mode by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/7195](https://github.com/astral-sh/ruff/pull/7195)
- Display the `--preview` option in the CLI help menu by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/7274](https://github.com/astral-sh/ruff/pull/7274)

See the [documentation](https://beta.ruff.rs/docs/preview/) and
[versioning
discussion](https://github.com/astral-sh/ruff/discussions/6998) for
more details.

#### New Contributors

- [@&#8203;brendonh8](https://github.com/brendonh8) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224)

**Full Changelog**:
astral-sh/ruff@v0.0.288...v0.0.289

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

[Compare
Source](https://github.com/astral-sh/ruff/compare/v0.0.287...v0.0.288)

#### What's Changed

##### Breaking Changes

- Remove emoji identifier support by
[@&#8203;MichaReiser](https://github.com/MichaReiser) in
[https://github.com/astral-sh/ruff/pull/7212](https://github.com/astral-sh/ruff/pull/7212)
- Location agnostic GitLab fingerprints by
[@&#8203;gregersn](https://github.com/gregersn) in
[https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203)

##### Rules

-   \[`ruff`]
- `RUF001`: Remove autofix for ambiguous unicode rule by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7168](https://github.com/astral-sh/ruff/pull/7168)

##### Settings

-   \[`flake8-self`]
- `SLF001`: Add `extend-ignore-names` option by
[@&#8203;jaap3](https://github.com/jaap3) in
[https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194)

##### Bug Fixes

-   \[`flake8-bugbear`]
- `B006`: Add newline if fix is at end-of-file by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7090](https://github.com/astral-sh/ruff/pull/7090)
- `B006`: Fix function docstring followed by whitespace but no newline
by [@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/7160](https://github.com/astral-sh/ruff/pull/7160)
- `B009`: Parenthesize expressions when converting to attribute access
by [@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7091](https://github.com/astral-sh/ruff/pull/7091)
- `B009`, `B010`: Fix `getattr` calls on `int` literals by
[@&#8203;density](https://github.com/density) in
[https://github.com/astral-sh/ruff/pull/7057](https://github.com/astral-sh/ruff/pull/7057)
- `B013`: Supported starred exceptions in length-one tuple detection by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7080](https://github.com/astral-sh/ruff/pull/7080)
- `B013`: Insert required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7148](https://github.com/astral-sh/ruff/pull/7148)
-   \[`flake8-comprehensions`]
- `C402`: Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7152](https://github.com/astral-sh/ruff/pull/7152)
- `C404` Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7185](https://github.com/astral-sh/ruff/pull/7185)
- `C416` Add required space to fix by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7204](https://github.com/astral-sh/ruff/pull/7204)
- `C417`: Support length-2 lists in dictionary comprehension rewrites by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7081](https://github.com/astral-sh/ruff/pull/7081)
- `C417`: Parenthesize targets if necessary by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7189](https://github.com/astral-sh/ruff/pull/7189)
-   \[`flake8-return`]
- `RET504`: Add space after return when inlining number by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7116](https://github.com/astral-sh/ruff/pull/7116)
-   \[`flake8-simplify`]
- `SIM105`: Avoid attempting to fix violations with multi-statement
lines by [@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7191](https://github.com/astral-sh/ruff/pull/7191)
- `SIM105` Avoid inserting an extra newline for fixes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7221](https://github.com/astral-sh/ruff/pull/7221)
- `SIM118`: Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7150](https://github.com/astral-sh/ruff/pull/7150)
- `SIM118`: delete `.keys()` rather than replace expression by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7223](https://github.com/astral-sh/ruff/pull/7223)
- `SIM210`: Retain parentheses when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7118](https://github.com/astral-sh/ruff/pull/7118)
- `SIM222`: Add parentheses when simplifying conditions by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7117](https://github.com/astral-sh/ruff/pull/7117)
- `SIM300`: Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7167](https://github.com/astral-sh/ruff/pull/7167)
-   \[`flake8-pytest-style`]
- `PT018`: Split within `not`, rather than outside of `not` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7151](https://github.com/astral-sh/ruff/pull/7151)
-   \[`flynt`]
- `FLY002`: Add required space for fixes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7222](https://github.com/astral-sh/ruff/pull/7222)
-   \[`numpy`]
- `NPY001`: Avoid attempting to fix with overridden builtins by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7187](https://github.com/astral-sh/ruff/pull/7187)
- `NPY003`: Use symbol import for replacement by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7083](https://github.com/astral-sh/ruff/pull/7083)
-   \[`pandas-vet`]
- `PD002`: Handle parenthesized calls by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7111](https://github.com/astral-sh/ruff/pull/7111)
-   \[`pep8-naming`]
- `N806`: Avoid triggering on `TypeAlias` assignments by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7119](https://github.com/astral-sh/ruff/pull/7119)
-   \[`pydocstyle`]
- `D204`: Fix when there's a semicolon after a docstring by
[@&#8203;konstin](https://github.com/konstin) in
[https://github.com/astral-sh/ruff/pull/7174](https://github.com/astral-sh/ruff/pull/7174)
- `D213`, `D400`: Ignore single quote docstrings with newline escape by
[@&#8203;konstin](https://github.com/konstin) in
[https://github.com/astral-sh/ruff/pull/7173](https://github.com/astral-sh/ruff/pull/7173)
- `D417`: Fix error with function docstrings with dashed lines by
[@&#8203;eronnen](https://github.com/eronnen) in
[https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251)
-   \[`pyflakes`]
- `F401`: Avoid panic with noqa import name by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7260](https://github.com/astral-sh/ruff/pull/7260)
- `F841`: Expand fixes to handle parenthesized targets by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7110](https://github.com/astral-sh/ruff/pull/7110)
-   \[`pylint`]
- `PLW3301`: Copy the starred argument as is for autofix by
[@&#8203;dhruvmanila](https://github.com/dhruvmanila) in
[https://github.com/astral-sh/ruff/pull/7177](https://github.com/astral-sh/ruff/pull/7177)
-   \[`pyupgrade`]
- `UP006` and `UP007`: Add required space to fixes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7202](https://github.com/astral-sh/ruff/pull/7202)
- `UP007`: Avoid attempting to fix invalid `Optional` annotations by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7079](https://github.com/astral-sh/ruff/pull/7079)
- `UP007`: Fix syntax error in autofix by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7137](https://github.com/astral-sh/ruff/pull/7137)
- `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7112](https://github.com/astral-sh/ruff/pull/7112)
- `UP022`: Avoid adding duplicate `capture_output` keyword to
`subprocess.run` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7113](https://github.com/astral-sh/ruff/pull/7113)
- `UP028`: Support parenthesized expressions by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7114](https://github.com/astral-sh/ruff/pull/7114)
- `UP022`: Avoid fixing when `capture_output` is provided by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7149](https://github.com/astral-sh/ruff/pull/7149)
- `UP024`: Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7171](https://github.com/astral-sh/ruff/pull/7171)
-   \[`ruff`]
- `RUF017`: Avoid duplicate fixes for multi-import imports by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7063](https://github.com/astral-sh/ruff/pull/7063)
- Fix named expression precedence in generator by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7170](https://github.com/astral-sh/ruff/pull/7170)
- Fix precedence of annotated assignments in generator by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7115](https://github.com/astral-sh/ruff/pull/7115)
- Update identifier Unicode character validation to match Python spec by
[@&#8203;LaBatata101](https://github.com/LaBatata101) in
[https://github.com/astral-sh/ruff/pull/7209](https://github.com/astral-sh/ruff/pull/7209)

##### Other Changes

- Added argfile test and documentation by
[@&#8203;njgrisafi](https://github.com/njgrisafi) in
[https://github.com/astral-sh/ruff/pull/7138](https://github.com/astral-sh/ruff/pull/7138)

#### New Contributors

- [@&#8203;oliviacrain](https://github.com/oliviacrain) made their
first contribution in
[https://github.com/astral-sh/ruff/pull/7093](https://github.com/astral-sh/ruff/pull/7093)
- [@&#8203;dalgarno](https://github.com/dalgarno) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7108](https://github.com/astral-sh/ruff/pull/7108)
- [@&#8203;manmartgarc](https://github.com/manmartgarc) made their
first contribution in
[https://github.com/astral-sh/ruff/pull/7179](https://github.com/astral-sh/ruff/pull/7179)
- [@&#8203;jaap3](https://github.com/jaap3) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194)
- [@&#8203;gregersn](https://github.com/gregersn) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203)
- [@&#8203;eronnen](https://github.com/eronnen) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251)

**Full Changelog**:
astral-sh/ruff@v0.0.287...v0.0.288

</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://developer.mend.io/github/allenporter/flux-local).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
gatesn referenced this pull request in spiraldb/ziggy-pydust Sep 15, 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://beta.ruff.rs/docs)
([source](https://github.com/astral-sh/ruff),
[changelog](https://github.com/astral-sh/ruff/releases)) | `^0.0.286`
-> `^0.0.289` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.286/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.286/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

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

[Compare
Source](https://github.com/astral-sh/ruff/compare/v0.0.288...v0.0.289)

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

#### What's Changed

##### Bug Fixes

- Invert condition for < and <= in outdated version block by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7284](https://github.com/astral-sh/ruff/pull/7284)
- Ignore `@override` method when enforcing `bad-dunder-name` rule by
[@&#8203;brendonh8](https://github.com/brendonh8) in
[https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224)
- Add `NotebookIndex` to the cache by
[@&#8203;dhruvmanila](https://github.com/dhruvmanila) in
[https://github.com/astral-sh/ruff/pull/6863](https://github.com/astral-sh/ruff/pull/6863)

##### Preview

This release includes a new preview mode which can be used to opt-in to
unstable rules and features.

- Update rule selection to respect preview mode by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/7195](https://github.com/astral-sh/ruff/pull/7195)
- Display the `--preview` option in the CLI help menu by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/7274](https://github.com/astral-sh/ruff/pull/7274)

See the [documentation](https://beta.ruff.rs/docs/preview/) and
[versioning
discussion](https://github.com/astral-sh/ruff/discussions/6998) for
more details.

#### New Contributors

- [@&#8203;brendonh8](https://github.com/brendonh8) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224)

**Full Changelog**:
astral-sh/ruff@v0.0.288...v0.0.289

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

[Compare
Source](https://github.com/astral-sh/ruff/compare/v0.0.287...v0.0.288)

#### What's Changed

##### Breaking Changes

- Remove emoji identifier support by
[@&#8203;MichaReiser](https://github.com/MichaReiser) in
[https://github.com/astral-sh/ruff/pull/7212](https://github.com/astral-sh/ruff/pull/7212)
- Location agnostic GitLab fingerprints by
[@&#8203;gregersn](https://github.com/gregersn) in
[https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203)

##### Rules

-   \[`ruff`]
- `RUF001`: Remove autofix for ambiguous unicode rule by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7168](https://github.com/astral-sh/ruff/pull/7168)

##### Settings

-   \[`flake8-self`]
- `SLF001`: Add `extend-ignore-names` option by
[@&#8203;jaap3](https://github.com/jaap3) in
[https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194)

##### Bug Fixes

-   \[`flake8-bugbear`]
- `B006`: Add newline if fix is at end-of-file by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7090](https://github.com/astral-sh/ruff/pull/7090)
- `B006`: Fix function docstring followed by whitespace but no newline
by [@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/7160](https://github.com/astral-sh/ruff/pull/7160)
- `B009`: Parenthesize expressions when converting to attribute access
by [@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7091](https://github.com/astral-sh/ruff/pull/7091)
- `B009`, `B010`: Fix `getattr` calls on `int` literals by
[@&#8203;density](https://github.com/density) in
[https://github.com/astral-sh/ruff/pull/7057](https://github.com/astral-sh/ruff/pull/7057)
- `B013`: Supported starred exceptions in length-one tuple detection by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7080](https://github.com/astral-sh/ruff/pull/7080)
- `B013`: Insert required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7148](https://github.com/astral-sh/ruff/pull/7148)
-   \[`flake8-comprehensions`]
- `C402`: Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7152](https://github.com/astral-sh/ruff/pull/7152)
- `C404` Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7185](https://github.com/astral-sh/ruff/pull/7185)
- `C416` Add required space to fix by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7204](https://github.com/astral-sh/ruff/pull/7204)
- `C417`: Support length-2 lists in dictionary comprehension rewrites by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7081](https://github.com/astral-sh/ruff/pull/7081)
- `C417`: Parenthesize targets if necessary by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7189](https://github.com/astral-sh/ruff/pull/7189)
-   \[`flake8-return`]
- `RET504`: Add space after return when inlining number by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7116](https://github.com/astral-sh/ruff/pull/7116)
-   \[`flake8-simplify`]
- `SIM105`: Avoid attempting to fix violations with multi-statement
lines by [@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7191](https://github.com/astral-sh/ruff/pull/7191)
- `SIM105` Avoid inserting an extra newline for fixes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7221](https://github.com/astral-sh/ruff/pull/7221)
- `SIM118`: Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7150](https://github.com/astral-sh/ruff/pull/7150)
- `SIM118`: delete `.keys()` rather than replace expression by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7223](https://github.com/astral-sh/ruff/pull/7223)
- `SIM210`: Retain parentheses when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7118](https://github.com/astral-sh/ruff/pull/7118)
- `SIM222`: Add parentheses when simplifying conditions by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7117](https://github.com/astral-sh/ruff/pull/7117)
- `SIM300`: Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7167](https://github.com/astral-sh/ruff/pull/7167)
-   \[`flake8-pytest-style`]
- `PT018`: Split within `not`, rather than outside of `not` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7151](https://github.com/astral-sh/ruff/pull/7151)
-   \[`flynt`]
- `FLY002`: Add required space for fixes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7222](https://github.com/astral-sh/ruff/pull/7222)
-   \[`numpy`]
- `NPY001`: Avoid attempting to fix with overridden builtins by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7187](https://github.com/astral-sh/ruff/pull/7187)
- `NPY003`: Use symbol import for replacement by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7083](https://github.com/astral-sh/ruff/pull/7083)
-   \[`pandas-vet`]
- `PD002`: Handle parenthesized calls by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7111](https://github.com/astral-sh/ruff/pull/7111)
-   \[`pep8-naming`]
- `N806`: Avoid triggering on `TypeAlias` assignments by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7119](https://github.com/astral-sh/ruff/pull/7119)
-   \[`pydocstyle`]
- `D204`: Fix when there's a semicolon after a docstring by
[@&#8203;konstin](https://github.com/konstin) in
[https://github.com/astral-sh/ruff/pull/7174](https://github.com/astral-sh/ruff/pull/7174)
- `D213`, `D400`: Ignore single quote docstrings with newline escape by
[@&#8203;konstin](https://github.com/konstin) in
[https://github.com/astral-sh/ruff/pull/7173](https://github.com/astral-sh/ruff/pull/7173)
- `D417`: Fix error with function docstrings with dashed lines by
[@&#8203;eronnen](https://github.com/eronnen) in
[https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251)
-   \[`pyflakes`]
- `F401`: Avoid panic with noqa import name by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7260](https://github.com/astral-sh/ruff/pull/7260)
- `F841`: Expand fixes to handle parenthesized targets by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7110](https://github.com/astral-sh/ruff/pull/7110)
-   \[`pylint`]
- `PLW3301`: Copy the starred argument as is for autofix by
[@&#8203;dhruvmanila](https://github.com/dhruvmanila) in
[https://github.com/astral-sh/ruff/pull/7177](https://github.com/astral-sh/ruff/pull/7177)
-   \[`pyupgrade`]
- `UP006` and `UP007`: Add required space to fixes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7202](https://github.com/astral-sh/ruff/pull/7202)
- `UP007`: Avoid attempting to fix invalid `Optional` annotations by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7079](https://github.com/astral-sh/ruff/pull/7079)
- `UP007`: Fix syntax error in autofix by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7137](https://github.com/astral-sh/ruff/pull/7137)
- `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7112](https://github.com/astral-sh/ruff/pull/7112)
- `UP022`: Avoid adding duplicate `capture_output` keyword to
`subprocess.run` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7113](https://github.com/astral-sh/ruff/pull/7113)
- `UP028`: Support parenthesized expressions by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7114](https://github.com/astral-sh/ruff/pull/7114)
- `UP022`: Avoid fixing when `capture_output` is provided by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7149](https://github.com/astral-sh/ruff/pull/7149)
- `UP024`: Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7171](https://github.com/astral-sh/ruff/pull/7171)
-   \[`ruff`]
- `RUF017`: Avoid duplicate fixes for multi-import imports by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7063](https://github.com/astral-sh/ruff/pull/7063)
- Fix named expression precedence in generator by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7170](https://github.com/astral-sh/ruff/pull/7170)
- Fix precedence of annotated assignments in generator by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7115](https://github.com/astral-sh/ruff/pull/7115)
- Update identifier Unicode character validation to match Python spec by
[@&#8203;LaBatata101](https://github.com/LaBatata101) in
[https://github.com/astral-sh/ruff/pull/7209](https://github.com/astral-sh/ruff/pull/7209)

##### Other Changes

- Added argfile test and documentation by
[@&#8203;njgrisafi](https://github.com/njgrisafi) in
[https://github.com/astral-sh/ruff/pull/7138](https://github.com/astral-sh/ruff/pull/7138)

#### New Contributors

- [@&#8203;oliviacrain](https://github.com/oliviacrain) made their
first contribution in
[https://github.com/astral-sh/ruff/pull/7093](https://github.com/astral-sh/ruff/pull/7093)
- [@&#8203;dalgarno](https://github.com/dalgarno) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7108](https://github.com/astral-sh/ruff/pull/7108)
- [@&#8203;manmartgarc](https://github.com/manmartgarc) made their
first contribution in
[https://github.com/astral-sh/ruff/pull/7179](https://github.com/astral-sh/ruff/pull/7179)
- [@&#8203;jaap3](https://github.com/jaap3) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194)
- [@&#8203;gregersn](https://github.com/gregersn) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203)
- [@&#8203;eronnen](https://github.com/eronnen) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251)

**Full Changelog**:
astral-sh/ruff@v0.0.287...v0.0.288

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

[Compare
Source](https://github.com/astral-sh/ruff/compare/v0.0.286...v0.0.287)

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

#### What's Changed

##### Rules

- \[refurb] Implement preview `repeated-append` rule (`FURB113`) by
[@&#8203;SavchenkoValeriy](https://github.com/SavchenkoValeriy) in
[https://github.com/astral-sh/ruff/pull/6702](https://github.com/astral-sh/ruff/pull/6702)
- \[refurb] Implement preview `delete-full-slice` rule (`FURB131`) by
[@&#8203;SavchenkoValeriy](https://github.com/SavchenkoValeriy) in
[https://github.com/astral-sh/ruff/pull/6897](https://github.com/astral-sh/ruff/pull/6897)
- \[refurb] Implement preview `check-and-remove-from-set` rule
(`FURB132`) by
[@&#8203;SavchenkoValeriy](https://github.com/SavchenkoValeriy) in
[https://github.com/astral-sh/ruff/pull/6904](https://github.com/astral-sh/ruff/pull/6904)

##### Bug Fixes

- Expand `PERF401` and `PERF402` with type checks by
[@&#8203;qdegraaf](https://github.com/qdegraaf) in
[https://github.com/astral-sh/ruff/pull/6994](https://github.com/astral-sh/ruff/pull/6994)
- Insert space to avoid syntax error in RSE fixes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6886](https://github.com/astral-sh/ruff/pull/6886)
- Avoid PEP 604 upgrades that lead to invalid syntax by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6888](https://github.com/astral-sh/ruff/pull/6888)
- Fix ranges for global usages by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6917](https://github.com/astral-sh/ruff/pull/6917)
- Avoid invalid fix for C417 with separate keys and values by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6954](https://github.com/astral-sh/ruff/pull/6954)
- Avoid panic when `typename` is provided as a keyword argument by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6955](https://github.com/astral-sh/ruff/pull/6955)
- Improve compatibility between multi-statement PYI rules by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7024](https://github.com/astral-sh/ruff/pull/7024)
- Fixed panic in `missing_copyright_notice` by
[@&#8203;WindowGenerator](https://github.com/WindowGenerator) in
[https://github.com/astral-sh/ruff/pull/7029](https://github.com/astral-sh/ruff/pull/7029)
- Avoid lexer infinite loop on invalid input by
[@&#8203;dhruvmanila](https://github.com/dhruvmanila) in
[https://github.com/astral-sh/ruff/pull/6937](https://github.com/astral-sh/ruff/pull/6937)
- Fix `WithItem` ranges for parenthesized, non-`as` items by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6782](https://github.com/astral-sh/ruff/pull/6782)

#### New Contributors

- [@&#8203;SavchenkoValeriy](https://github.com/SavchenkoValeriy) made
their first contribution in
[https://github.com/astral-sh/ruff/pull/6702](https://github.com/astral-sh/ruff/pull/6702)
- [@&#8203;Anselmoo](https://github.com/Anselmoo) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/6986](https://github.com/astral-sh/ruff/pull/6986)
- [@&#8203;njgrisafi](https://github.com/njgrisafi) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7032](https://github.com/astral-sh/ruff/pull/7032)
- [@&#8203;WindowGenerator](https://github.com/WindowGenerator) made
their first contribution in
[https://github.com/astral-sh/ruff/pull/7029](https://github.com/astral-sh/ruff/pull/7029)

**Full Changelog**:
astral-sh/ruff@v0.0.286...v0.0.287

</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://developer.mend.io/github/fulcrum-so/ziggy-pydust).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
delta003 referenced this pull request in spiraldb/ziggy-pydust-template Sep 17, 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://beta.ruff.rs/docs)
([source](https://github.com/astral-sh/ruff),
[changelog](https://github.com/astral-sh/ruff/releases)) | `^0.0.286`
-> `^0.0.290` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.290?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.290?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.286/0.0.290?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.286/0.0.290?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

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

[Compare
Source](https://github.com/astral-sh/ruff/compare/v0.0.289...v0.0.290)

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

#### What's Changed

##### Rules

- Update `deprecated-import` lists based on recent `typing-extensions`
release by [@&#8203;charliermarsh](https://github.com/charliermarsh)
in
[https://github.com/astral-sh/ruff/pull/7356](https://github.com/astral-sh/ruff/pull/7356)
- Add support for bounds, constraints, and explicit variance on generic
type variables to `UP040` by
[@&#8203;nathanwhit](https://github.com/nathanwhit) in
[https://github.com/astral-sh/ruff/pull/6749](https://github.com/astral-sh/ruff/pull/6749)

##### Settings

- Show rule codes in shell tab completion by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7375](https://github.com/astral-sh/ruff/pull/7375)

##### Bug Fixes

- Parenthesize single-generator arguments when adding reverse keyword by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7365](https://github.com/astral-sh/ruff/pull/7365)
- Invert reverse argument regardless of whether it's a boolean by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7372](https://github.com/astral-sh/ruff/pull/7372)
- Extend `C416` to catch tuple unpacking by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7363](https://github.com/astral-sh/ruff/pull/7363)
- Allow `NURSERY` rule selctor in JSON Schema by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7374](https://github.com/astral-sh/ruff/pull/7374)
- Avoid flagging single-quoted docstrings with continuations for
multi-line rules by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7392](https://github.com/astral-sh/ruff/pull/7392)
- Treat whitespace-only line as blank for `D411` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7351](https://github.com/astral-sh/ruff/pull/7351)

##### Preview

[*What's this section?*](https://beta.ruff.rs/docs/preview/)

- \[`flake8-logging`] New rule `undocumented-warn` (`LOG009`) by
[@&#8203;qdegraaf](https://github.com/qdegraaf) in
[https://github.com/astral-sh/ruff/pull/7249](https://github.com/astral-sh/ruff/pull/7249)
- \[`flake8-logging`] New rule `direct-logger-instantiation` (`LOG001`)
by [@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7397](https://github.com/astral-sh/ruff/pull/7397)
- \[`flake8-logging`] New plugin `flake8_logging` (`LOG`) by
[@&#8203;qdegraaf](https://github.com/qdegraaf) in
[https://github.com/astral-sh/ruff/pull/7249](https://github.com/astral-sh/ruff/pull/7249)
- \[`perflint`] Add `manual-dict-comprehsion` (`PERF403`) by
[@&#8203;qdegraaf](https://github.com/qdegraaf) in
[https://github.com/astral-sh/ruff/pull/6132](https://github.com/astral-sh/ruff/pull/6132)
- \[`pylint`] New rule `too-many-public-methods` (`PLR0904`) by
[@&#8203;jelly](https://github.com/jelly) in
[https://github.com/astral-sh/ruff/pull/6179](https://github.com/astral-sh/ruff/pull/6179)
- \[`refurb`] New rule `no-slice-copy` (`FURB145`) by
[@&#8203;tjkuson](https://github.com/tjkuson) in
[https://github.com/astral-sh/ruff/pull/7007](https://github.com/astral-sh/ruff/pull/7007)
- Add warnings for nursery and preview rule selection by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/7210](https://github.com/astral-sh/ruff/pull/7210)
- Remove the `PREVIEW` rule selector by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/7389](https://github.com/astral-sh/ruff/pull/7389)
- [`pre-commit`
support](https://github.com/astral-sh/ruff-pre-commit#using-ruffs-formatter-unstable)
for the [alpha
formatter](https://github.com/astral-sh/ruff/discussions/7310) by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff-pre-commit/pull/50](https://github.com/astral-sh/ruff-pre-commit/pull/50)

#### New Contributors

- [@&#8203;nathanwhit](https://github.com/nathanwhit) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/6749](https://github.com/astral-sh/ruff/pull/6749)

**Full Changelog**:
astral-sh/ruff@v0.0.289...v0.0.290

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

[Compare
Source](https://github.com/astral-sh/ruff/compare/v0.0.288...v0.0.289)

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

#### What's Changed

##### Bug Fixes

- Invert condition for < and <= in outdated version block by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7284](https://github.com/astral-sh/ruff/pull/7284)
- Ignore `@override` method when enforcing `bad-dunder-name` rule by
[@&#8203;brendonh8](https://github.com/brendonh8) in
[https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224)
- Add `NotebookIndex` to the cache by
[@&#8203;dhruvmanila](https://github.com/dhruvmanila) in
[https://github.com/astral-sh/ruff/pull/6863](https://github.com/astral-sh/ruff/pull/6863)

##### Preview

This release includes a new preview mode which can be used to opt-in to
unstable rules and features.

- Update rule selection to respect preview mode by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/7195](https://github.com/astral-sh/ruff/pull/7195)
- Display the `--preview` option in the CLI help menu by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/7274](https://github.com/astral-sh/ruff/pull/7274)

See the [documentation](https://beta.ruff.rs/docs/preview/) and
[versioning
discussion](https://github.com/astral-sh/ruff/discussions/6998) for
more details.

#### New Contributors

- [@&#8203;brendonh8](https://github.com/brendonh8) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7224](https://github.com/astral-sh/ruff/pull/7224)

**Full Changelog**:
astral-sh/ruff@v0.0.288...v0.0.289

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

[Compare
Source](https://github.com/astral-sh/ruff/compare/v0.0.287...v0.0.288)

#### What's Changed

##### Breaking Changes

- Remove emoji identifier support by
[@&#8203;MichaReiser](https://github.com/MichaReiser) in
[https://github.com/astral-sh/ruff/pull/7212](https://github.com/astral-sh/ruff/pull/7212)
- Location agnostic GitLab fingerprints by
[@&#8203;gregersn](https://github.com/gregersn) in
[https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203)

##### Rules

-   \[`ruff`]
- `RUF001`: Remove autofix for ambiguous unicode rule by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7168](https://github.com/astral-sh/ruff/pull/7168)

##### Settings

-   \[`flake8-self`]
- `SLF001`: Add `extend-ignore-names` option by
[@&#8203;jaap3](https://github.com/jaap3) in
[https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194)

##### Bug Fixes

-   \[`flake8-bugbear`]
- `B006`: Add newline if fix is at end-of-file by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7090](https://github.com/astral-sh/ruff/pull/7090)
- `B006`: Fix function docstring followed by whitespace but no newline
by [@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/7160](https://github.com/astral-sh/ruff/pull/7160)
- `B009`: Parenthesize expressions when converting to attribute access
by [@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7091](https://github.com/astral-sh/ruff/pull/7091)
- `B009`, `B010`: Fix `getattr` calls on `int` literals by
[@&#8203;density](https://github.com/density) in
[https://github.com/astral-sh/ruff/pull/7057](https://github.com/astral-sh/ruff/pull/7057)
- `B013`: Supported starred exceptions in length-one tuple detection by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7080](https://github.com/astral-sh/ruff/pull/7080)
- `B013`: Insert required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7148](https://github.com/astral-sh/ruff/pull/7148)
-   \[`flake8-comprehensions`]
- `C402`: Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7152](https://github.com/astral-sh/ruff/pull/7152)
- `C404` Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7185](https://github.com/astral-sh/ruff/pull/7185)
- `C416` Add required space to fix by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7204](https://github.com/astral-sh/ruff/pull/7204)
- `C417`: Support length-2 lists in dictionary comprehension rewrites by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7081](https://github.com/astral-sh/ruff/pull/7081)
- `C417`: Parenthesize targets if necessary by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7189](https://github.com/astral-sh/ruff/pull/7189)
-   \[`flake8-return`]
- `RET504`: Add space after return when inlining number by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7116](https://github.com/astral-sh/ruff/pull/7116)
-   \[`flake8-simplify`]
- `SIM105`: Avoid attempting to fix violations with multi-statement
lines by [@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7191](https://github.com/astral-sh/ruff/pull/7191)
- `SIM105` Avoid inserting an extra newline for fixes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7221](https://github.com/astral-sh/ruff/pull/7221)
- `SIM118`: Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7150](https://github.com/astral-sh/ruff/pull/7150)
- `SIM118`: delete `.keys()` rather than replace expression by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7223](https://github.com/astral-sh/ruff/pull/7223)
- `SIM210`: Retain parentheses when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7118](https://github.com/astral-sh/ruff/pull/7118)
- `SIM222`: Add parentheses when simplifying conditions by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7117](https://github.com/astral-sh/ruff/pull/7117)
- `SIM300`: Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7167](https://github.com/astral-sh/ruff/pull/7167)
-   \[`flake8-pytest-style`]
- `PT018`: Split within `not`, rather than outside of `not` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7151](https://github.com/astral-sh/ruff/pull/7151)
-   \[`flynt`]
- `FLY002`: Add required space for fixes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7222](https://github.com/astral-sh/ruff/pull/7222)
-   \[`numpy`]
- `NPY001`: Avoid attempting to fix with overridden builtins by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7187](https://github.com/astral-sh/ruff/pull/7187)
- `NPY003`: Use symbol import for replacement by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7083](https://github.com/astral-sh/ruff/pull/7083)
-   \[`pandas-vet`]
- `PD002`: Handle parenthesized calls by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7111](https://github.com/astral-sh/ruff/pull/7111)
-   \[`pep8-naming`]
- `N806`: Avoid triggering on `TypeAlias` assignments by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7119](https://github.com/astral-sh/ruff/pull/7119)
-   \[`pydocstyle`]
- `D204`: Fix when there's a semicolon after a docstring by
[@&#8203;konstin](https://github.com/konstin) in
[https://github.com/astral-sh/ruff/pull/7174](https://github.com/astral-sh/ruff/pull/7174)
- `D213`, `D400`: Ignore single quote docstrings with newline escape by
[@&#8203;konstin](https://github.com/konstin) in
[https://github.com/astral-sh/ruff/pull/7173](https://github.com/astral-sh/ruff/pull/7173)
- `D417`: Fix error with function docstrings with dashed lines by
[@&#8203;eronnen](https://github.com/eronnen) in
[https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251)
-   \[`pyflakes`]
- `F401`: Avoid panic with noqa import name by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7260](https://github.com/astral-sh/ruff/pull/7260)
- `F841`: Expand fixes to handle parenthesized targets by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7110](https://github.com/astral-sh/ruff/pull/7110)
-   \[`pylint`]
- `PLW3301`: Copy the starred argument as is for autofix by
[@&#8203;dhruvmanila](https://github.com/dhruvmanila) in
[https://github.com/astral-sh/ruff/pull/7177](https://github.com/astral-sh/ruff/pull/7177)
-   \[`pyupgrade`]
- `UP006` and `UP007`: Add required space to fixes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7202](https://github.com/astral-sh/ruff/pull/7202)
- `UP007`: Avoid attempting to fix invalid `Optional` annotations by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7079](https://github.com/astral-sh/ruff/pull/7079)
- `UP007`: Fix syntax error in autofix by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7137](https://github.com/astral-sh/ruff/pull/7137)
- `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7112](https://github.com/astral-sh/ruff/pull/7112)
- `UP022`: Avoid adding duplicate `capture_output` keyword to
`subprocess.run` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7113](https://github.com/astral-sh/ruff/pull/7113)
- `UP028`: Support parenthesized expressions by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7114](https://github.com/astral-sh/ruff/pull/7114)
- `UP022`: Avoid fixing when `capture_output` is provided by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7149](https://github.com/astral-sh/ruff/pull/7149)
- `UP024`: Add required space when fixing by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7171](https://github.com/astral-sh/ruff/pull/7171)
-   \[`ruff`]
- `RUF017`: Avoid duplicate fixes for multi-import imports by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7063](https://github.com/astral-sh/ruff/pull/7063)
- Fix named expression precedence in generator by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7170](https://github.com/astral-sh/ruff/pull/7170)
- Fix precedence of annotated assignments in generator by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7115](https://github.com/astral-sh/ruff/pull/7115)
- Update identifier Unicode character validation to match Python spec by
[@&#8203;LaBatata101](https://github.com/LaBatata101) in
[https://github.com/astral-sh/ruff/pull/7209](https://github.com/astral-sh/ruff/pull/7209)

##### Other Changes

- Added argfile test and documentation by
[@&#8203;njgrisafi](https://github.com/njgrisafi) in
[https://github.com/astral-sh/ruff/pull/7138](https://github.com/astral-sh/ruff/pull/7138)

#### New Contributors

- [@&#8203;oliviacrain](https://github.com/oliviacrain) made their
first contribution in
[https://github.com/astral-sh/ruff/pull/7093](https://github.com/astral-sh/ruff/pull/7093)
- [@&#8203;dalgarno](https://github.com/dalgarno) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7108](https://github.com/astral-sh/ruff/pull/7108)
- [@&#8203;manmartgarc](https://github.com/manmartgarc) made their
first contribution in
[https://github.com/astral-sh/ruff/pull/7179](https://github.com/astral-sh/ruff/pull/7179)
- [@&#8203;jaap3](https://github.com/jaap3) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7194](https://github.com/astral-sh/ruff/pull/7194)
- [@&#8203;gregersn](https://github.com/gregersn) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7203](https://github.com/astral-sh/ruff/pull/7203)
- [@&#8203;eronnen](https://github.com/eronnen) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7251](https://github.com/astral-sh/ruff/pull/7251)

**Full Changelog**:
astral-sh/ruff@v0.0.287...v0.0.288

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

[Compare
Source](https://github.com/astral-sh/ruff/compare/v0.0.286...v0.0.287)

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

#### What's Changed

##### Rules

- \[refurb] Implement preview `repeated-append` rule (`FURB113`) by
[@&#8203;SavchenkoValeriy](https://github.com/SavchenkoValeriy) in
[https://github.com/astral-sh/ruff/pull/6702](https://github.com/astral-sh/ruff/pull/6702)
- \[refurb] Implement preview `delete-full-slice` rule (`FURB131`) by
[@&#8203;SavchenkoValeriy](https://github.com/SavchenkoValeriy) in
[https://github.com/astral-sh/ruff/pull/6897](https://github.com/astral-sh/ruff/pull/6897)
- \[refurb] Implement preview `check-and-remove-from-set` rule
(`FURB132`) by
[@&#8203;SavchenkoValeriy](https://github.com/SavchenkoValeriy) in
[https://github.com/astral-sh/ruff/pull/6904](https://github.com/astral-sh/ruff/pull/6904)

##### Bug Fixes

- Expand `PERF401` and `PERF402` with type checks by
[@&#8203;qdegraaf](https://github.com/qdegraaf) in
[https://github.com/astral-sh/ruff/pull/6994](https://github.com/astral-sh/ruff/pull/6994)
- Insert space to avoid syntax error in RSE fixes by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6886](https://github.com/astral-sh/ruff/pull/6886)
- Avoid PEP 604 upgrades that lead to invalid syntax by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6888](https://github.com/astral-sh/ruff/pull/6888)
- Fix ranges for global usages by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6917](https://github.com/astral-sh/ruff/pull/6917)
- Avoid invalid fix for C417 with separate keys and values by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6954](https://github.com/astral-sh/ruff/pull/6954)
- Avoid panic when `typename` is provided as a keyword argument by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6955](https://github.com/astral-sh/ruff/pull/6955)
- Improve compatibility between multi-statement PYI rules by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/7024](https://github.com/astral-sh/ruff/pull/7024)
- Fixed panic in `missing_copyright_notice` by
[@&#8203;WindowGenerator](https://github.com/WindowGenerator) in
[https://github.com/astral-sh/ruff/pull/7029](https://github.com/astral-sh/ruff/pull/7029)
- Avoid lexer infinite loop on invalid input by
[@&#8203;dhruvmanila](https://github.com/dhruvmanila) in
[https://github.com/astral-sh/ruff/pull/6937](https://github.com/astral-sh/ruff/pull/6937)
- Fix `WithItem` ranges for parenthesized, non-`as` items by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6782](https://github.com/astral-sh/ruff/pull/6782)

#### New Contributors

- [@&#8203;SavchenkoValeriy](https://github.com/SavchenkoValeriy) made
their first contribution in
[https://github.com/astral-sh/ruff/pull/6702](https://github.com/astral-sh/ruff/pull/6702)
- [@&#8203;Anselmoo](https://github.com/Anselmoo) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/6986](https://github.com/astral-sh/ruff/pull/6986)
- [@&#8203;njgrisafi](https://github.com/njgrisafi) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/7032](https://github.com/astral-sh/ruff/pull/7032)
- [@&#8203;WindowGenerator](https://github.com/WindowGenerator) made
their first contribution in
[https://github.com/astral-sh/ruff/pull/7029](https://github.com/astral-sh/ruff/pull/7029)

**Full Changelog**:
astral-sh/ruff@v0.0.286...v0.0.287

</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://developer.mend.io/github/fulcrum-so/ziggy-pydust-template).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==-->

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
breaking Breaking API change parser Related to the parser
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants