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

[refurb] Implement repeated-append rule (FURB113) #6702

Merged
merged 8 commits into from
Aug 28, 2023

Conversation

SavchenkoValeriy
Copy link
Contributor

Summary

As an initial effort with replicating refurb rules (#1348 ), this PR adds support for FURB113 and adds a new category of checks.

Test Plan

I included a new test + checked that all other tests pass.

@github-actions
Copy link
Contributor

github-actions bot commented Aug 20, 2023

PR Check Results

Ecosystem

✅ ecosystem check detected no changes.

@charliermarsh
Copy link
Member

@SavchenkoValeriy - Thanks for this. Regarding the limitation that we can't perform inference across files (or full static inference in general), I'm still open to merging these kinds of rules, for two reasons...

  1. The lack of inference means we'll have false negatives rather than false positives, which is preferable, especially because...
  2. These rules are nice-to-haves, and so missing a few is more acceptable than it would be if the rule were aimed at preventing production issues (like detecting undefined variables).

So, I think it's still reasonable to pursue implementing and merging these. It may take me a bit of time to do a proper review though since it is admittedly quite a bit of code.

traversal::suite(stmt, parent)?
};

let stmt_index = siblings.iter().position(|x| x == stmt)?;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we can add a method to traversal to support iterating over the siblings? We already have next_sibling.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you want me to extend traversal to include the logic about the global scope statements?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

traversal::suite already returns siblings, but doesn't handle the situation with the top level statements. Right now traversal is part of AST, but in order to resolve this issue, it needs access to semantics. I can move it to a different crate and make that change.

It can probably be a separate PR, though. What do you think it should be?

else {
return None;
};
module_def.python_ast
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, it would be nice if traversal did the right thing here... But, it can be a TODO.

})
}

fn is_list<'a>(checker: &'a Checker, binding: &'a Binding, name: &str) -> bool {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This got folded into a more general trait in a future PR, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, the next PR folds it and adds is_dict, and the one after that is_set

Copy link
Member

@charliermarsh charliermarsh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work, this is impressive!

@charliermarsh
Copy link
Member

@SavchenkoValeriy - Specifically, I am very impressed by how you were able to navigate the semantic model!

@codspeed-hq
Copy link

codspeed-hq bot commented Aug 27, 2023

CodSpeed Performance Report

Merging #6702 will not alter performance

Comparing SavchenkoValeriy:refurb/furb113 (b387921) with main (f33277a)

Summary

✅ 16 untouched benchmarks

@charliermarsh charliermarsh enabled auto-merge (squash) August 28, 2023 22:41
@charliermarsh charliermarsh added the rule Implementing or modifying a lint rule label Aug 28, 2023
@charliermarsh charliermarsh merged commit 26d53c5 into astral-sh:main Aug 28, 2023
16 checks passed
fn match_consecutive_appends<'a>(
semantic: &'a SemanticModel,
stmt: &'a Stmt,
) -> Option<Vec<Append<'a>>> {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@SavchenkoValeriy - I ended up reverting to Option, your initial version was better 😂

// group borrows from checker, so we can't directly push into checker.diagnostics
let diagnostics: Vec<Diagnostic> = group_appends(appends)
.iter()
.filter_map(|group| {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Writing this as a map felt a bit more idiomatic to me.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks better, agree!

@charliermarsh
Copy link
Member

Thanks @SavchenkoValeriy!

charliermarsh pushed a commit that referenced this pull request Aug 29, 2023
## Summary

This PR is a continuation of #6702 and me replicating `refurb` rules
(#1348). It adds support for
[FURB131](https://github.com/dosisod/refurb/blob/master/refurb/checks/builtin/no_del.py.

## Test Plan

I included a new test + checked that all other tests pass.
charliermarsh pushed a commit that referenced this pull request Aug 29, 2023
## Summary

This PR is a continuation of #6897 and #6702 and me replicating `refurb`
rules (#1348). It adds support for
[FURB132](https://github.com/dosisod/refurb/blob/master/refurb/checks/builtin/set_discard.py)

## Test Plan

I included a new test + checked that all other tests pass.
@SavchenkoValeriy SavchenkoValeriy deleted the refurb/furb113 branch August 29, 2023 10:41
renovate bot added a commit to ixm-one/pytest-cmake-presets that referenced this pull request Sep 1, 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://togithub.com/astral-sh/ruff),
[changelog](https://togithub.com/astral-sh/ruff/releases)) | `^0.0.286`
-> `^0.0.287` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.287?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.287?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.286/0.0.287?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.286/0.0.287?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

[Compare
Source](https://togithub.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 previuew `repeated-append` rule (`FURB113`) by
[@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in
[astral-sh/ruff#6702
- \[refurb] Implement previuew `delete-full-slice` rule (`FURB131`) by
[@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in
[astral-sh/ruff#6897
- \[refurb] Implement preview `check-and-remove-from-set` rule
(`FURB132`) by
[@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in
[astral-sh/ruff#6904

##### Bug Fixes

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

#### New Contributors

- [@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) made
their first contribution in
[astral-sh/ruff#6702
- [@&#8203;Anselmoo](https://togithub.com/Anselmoo) made their first
contribution in
[astral-sh/ruff#6986
- [@&#8203;njgrisafi](https://togithub.com/njgrisafi) made their first
contribution in
[astral-sh/ruff#7032
- [@&#8203;WindowGenerator](https://togithub.com/WindowGenerator) made
their first contribution in
[astral-sh/ruff#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 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:eyJjcmVhdGVkSW5WZXIiOiIzNi42OC4xIiwidXBkYXRlZEluVmVyIjoiMzYuNjguMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
jankatins added a commit to jankatins/pr-workflow-example that referenced this pull request Sep 2, 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://togithub.com/astral-sh/ruff),
[changelog](https://togithub.com/astral-sh/ruff/releases)) | `0.0.286`
-> `0.0.287` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.287?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.287?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.286/0.0.287?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.286/0.0.287?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

[Compare
Source](https://togithub.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 previuew `repeated-append` rule (`FURB113`) by
[@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in
[astral-sh/ruff#6702
- \[refurb] Implement previuew `delete-full-slice` rule (`FURB131`) by
[@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in
[astral-sh/ruff#6897
- \[refurb] Implement preview `check-and-remove-from-set` rule
(`FURB132`) by
[@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in
[astral-sh/ruff#6904

##### Bug Fixes

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

#### New Contributors

- [@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) made
their first contribution in
[astral-sh/ruff#6702
- [@&#8203;Anselmoo](https://togithub.com/Anselmoo) made their first
contribution in
[astral-sh/ruff#6986
- [@&#8203;njgrisafi](https://togithub.com/njgrisafi) made their first
contribution in
[astral-sh/ruff#7032
- [@&#8203;WindowGenerator](https://togithub.com/WindowGenerator) made
their first contribution in
[astral-sh/ruff#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**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/jankatins/pr-workflow-example).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi42OC4xIiwidXBkYXRlZEluVmVyIjoiMzYuNjguMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->
renovate bot added a commit to allenporter/flux-local that referenced this pull request Sep 2, 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://togithub.com/astral-sh/ruff),
[changelog](https://togithub.com/astral-sh/ruff/releases)) | `==0.0.286`
-> `==0.0.287` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.287?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.287?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.286/0.0.287?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.286/0.0.287?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

[Compare
Source](https://togithub.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 previuew `repeated-append` rule (`FURB113`) by
[@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in
[astral-sh/ruff#6702
- \[refurb] Implement previuew `delete-full-slice` rule (`FURB131`) by
[@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in
[astral-sh/ruff#6897
- \[refurb] Implement preview `check-and-remove-from-set` rule
(`FURB132`) by
[@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in
[astral-sh/ruff#6904

##### Bug Fixes

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

#### New Contributors

- [@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) made
their first contribution in
[astral-sh/ruff#6702
- [@&#8203;Anselmoo](https://togithub.com/Anselmoo) made their first
contribution in
[astral-sh/ruff#6986
- [@&#8203;njgrisafi](https://togithub.com/njgrisafi) made their first
contribution in
[astral-sh/ruff#7032
- [@&#8203;WindowGenerator](https://togithub.com/WindowGenerator) made
their first contribution in
[astral-sh/ruff#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/allenporter/flux-local).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot added a commit to allenporter/pyrainbird that referenced this pull request Sep 3, 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://togithub.com/astral-sh/ruff),
[changelog](https://togithub.com/astral-sh/ruff/releases)) | `==0.0.286`
-> `==0.0.287` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.287?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.287?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.286/0.0.287?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.286/0.0.287?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

[Compare
Source](https://togithub.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 previuew `repeated-append` rule (`FURB113`) by
[@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in
[astral-sh/ruff#6702
- \[refurb] Implement previuew `delete-full-slice` rule (`FURB131`) by
[@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in
[astral-sh/ruff#6897
- \[refurb] Implement preview `check-and-remove-from-set` rule
(`FURB132`) by
[@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in
[astral-sh/ruff#6904

##### Bug Fixes

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

#### New Contributors

- [@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) made
their first contribution in
[astral-sh/ruff#6702
- [@&#8203;Anselmoo](https://togithub.com/Anselmoo) made their first
contribution in
[astral-sh/ruff#6986
- [@&#8203;njgrisafi](https://togithub.com/njgrisafi) made their first
contribution in
[astral-sh/ruff#7032
- [@&#8203;WindowGenerator](https://togithub.com/WindowGenerator) made
their first contribution in
[astral-sh/ruff#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/allenporter/pyrainbird).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
gatesn pushed a commit to spiraldb/ziggy-pydust that referenced this pull request 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://togithub.com/astral-sh/ruff),
[changelog](https://togithub.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://togithub.com/astral-sh/ruff/releases/tag/v0.0.289)

[Compare
Source](https://togithub.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://togithub.com/charliermarsh) in
[astral-sh/ruff#7284
- Ignore `@override` method when enforcing `bad-dunder-name` rule by
[@&#8203;brendonh8](https://togithub.com/brendonh8) in
[astral-sh/ruff#7224
- Add `NotebookIndex` to the cache by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[astral-sh/ruff#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://togithub.com/zanieb) in
[astral-sh/ruff#7195
- Display the `--preview` option in the CLI help menu by
[@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#7274

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

#### New Contributors

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

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

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

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

#### What's Changed

##### Breaking Changes

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

##### Rules

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

##### Settings

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

##### Bug Fixes

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

##### Other Changes

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

#### New Contributors

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

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

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

[Compare
Source](https://togithub.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://togithub.com/SavchenkoValeriy) in
[astral-sh/ruff#6702
- \[refurb] Implement preview `delete-full-slice` rule (`FURB131`) by
[@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in
[astral-sh/ruff#6897
- \[refurb] Implement preview `check-and-remove-from-set` rule
(`FURB132`) by
[@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in
[astral-sh/ruff#6904

##### Bug Fixes

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

#### New Contributors

- [@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) made
their first contribution in
[astral-sh/ruff#6702
- [@&#8203;Anselmoo](https://togithub.com/Anselmoo) made their first
contribution in
[astral-sh/ruff#6986
- [@&#8203;njgrisafi](https://togithub.com/njgrisafi) made their first
contribution in
[astral-sh/ruff#7032
- [@&#8203;WindowGenerator](https://togithub.com/WindowGenerator) made
their first contribution in
[astral-sh/ruff#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 pushed a commit to spiraldb/ziggy-pydust-template that referenced this pull request 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://togithub.com/astral-sh/ruff),
[changelog](https://togithub.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://togithub.com/astral-sh/ruff/releases/tag/v0.0.290)

[Compare
Source](https://togithub.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://togithub.com/charliermarsh)
in
[astral-sh/ruff#7356
- Add support for bounds, constraints, and explicit variance on generic
type variables to `UP040` by
[@&#8203;nathanwhit](https://togithub.com/nathanwhit) in
[astral-sh/ruff#6749

##### Settings

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

##### Bug Fixes

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

##### Preview

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

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

#### New Contributors

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

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

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

[Compare
Source](https://togithub.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://togithub.com/charliermarsh) in
[astral-sh/ruff#7284
- Ignore `@override` method when enforcing `bad-dunder-name` rule by
[@&#8203;brendonh8](https://togithub.com/brendonh8) in
[astral-sh/ruff#7224
- Add `NotebookIndex` to the cache by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[astral-sh/ruff#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://togithub.com/zanieb) in
[astral-sh/ruff#7195
- Display the `--preview` option in the CLI help menu by
[@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#7274

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

#### New Contributors

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

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

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

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

#### What's Changed

##### Breaking Changes

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

##### Rules

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

##### Settings

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

##### Bug Fixes

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

##### Other Changes

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

#### New Contributors

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

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

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

[Compare
Source](https://togithub.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://togithub.com/SavchenkoValeriy) in
[astral-sh/ruff#6702
- \[refurb] Implement preview `delete-full-slice` rule (`FURB131`) by
[@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in
[astral-sh/ruff#6897
- \[refurb] Implement preview `check-and-remove-from-set` rule
(`FURB132`) by
[@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in
[astral-sh/ruff#6904

##### Bug Fixes

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

#### New Contributors

- [@&#8203;SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) made
their first contribution in
[astral-sh/ruff#6702
- [@&#8203;Anselmoo](https://togithub.com/Anselmoo) made their first
contribution in
[astral-sh/ruff#6986
- [@&#8203;njgrisafi](https://togithub.com/njgrisafi) made their first
contribution in
[astral-sh/ruff#7032
- [@&#8203;WindowGenerator](https://togithub.com/WindowGenerator) made
their first contribution in
[astral-sh/ruff#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
rule Implementing or modifying a lint rule
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants