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

Add warnings for nursery and preview rule selection #7210

Merged
merged 6 commits into from
Sep 13, 2023
Merged

Conversation

zanieb
Copy link
Member

@zanieb zanieb commented Sep 6, 2023

Summary

Adds warnings for cases where:

  • A selector does not include any rules because preview is disabled
  • A nursery rule is selected without the preview flag

Test plan

Add integration tests

@zanieb zanieb changed the title zanie/rule warning Add warnings for nursery and preview rule selection Sep 6, 2023
@zanieb zanieb force-pushed the zanie/rule-warning branch 2 times, most recently from e1141e4 to 63b9c13 Compare September 6, 2023 21:42
@github-actions
Copy link
Contributor

github-actions bot commented Sep 6, 2023

PR Check Results

Ecosystem

✅ ecosystem check detected no changes.

Comment on lines +630 to +634
for selection in deprecated_nursery_selectors {
let (prefix, code) = selection.prefix_and_code();
warn_user!("Selection of nursery rule `{prefix}{code}` without the `--preview` flag is deprecated.",);
}
Copy link
Member Author

Choose a reason for hiding this comment

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

The redirect warning code has a comment that says this should be in the ruff_cli crate — how would we go about that? I'd like to create a tracking issue.

Copy link
Member

Choose a reason for hiding this comment

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

I'd vote to just remove that TODO -- I can't remember why it's there.


#[test]
fn preview_enabled_prefix() {
// E741 and E225 (preview) should both be detected
Copy link
Member

Choose a reason for hiding this comment

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

What will happen to this test when E225 gets promoted to stable? (i don't have good answer for testing this)

Copy link
Member Author

Choose a reason for hiding this comment

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

Great question, do we choose a new code? Should we have a couple of rules in a "TEST" category that do nothing?

Copy link
Member Author

Choose a reason for hiding this comment

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

I'm looking into this

Copy link
Member Author

Choose a reason for hiding this comment

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

Not working... but an idea zanie/rule-warning...zanie/rule-tests

Copy link
Member

Choose a reason for hiding this comment

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

I'm a bit hesitant about adding test-only rules. We would need to filter them out in documentation, schema generation and prevent they can be selected in production (but then, we want them to be selectable in tests).

We could add the category behind a rust feature and make this an integration test (integration tests can require features), but this still suffers from the above-mentioned problems, although it has some more safeguards around it.

To me this is an inherent downside of our statically generated rule schema (instead of deriving a Rule array that has somewhat weaker keys which would allow you to mock out the rules).

I don't have a good solution to propose that doesn't require changing our rule structure or abstracting some of the logic by a trait that then allows overriding whether a rule is preview or not.

Copy link
Member Author

Choose a reason for hiding this comment

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

Doesn't the #[cfg(test)] approach address most of those concerns?

Copy link
Member Author

Choose a reason for hiding this comment

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

We can also wait and see how much of a burden it is to maintain the tests as-is. I don't like it though.

Copy link
Member

Choose a reason for hiding this comment

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

iirc #[cfg(test)] is only available in the same crate and not across crates (https://users.rust-lang.org/t/what-are-the-rules-for-cfg-test/54122/2), so e.g. ruff cfg(test) rules would not be available in ruff_cli.

Copy link
Member Author

Choose a reason for hiding this comment

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

Base automatically changed from zanie/rule-preview to main September 11, 2023 17:28
@zanieb zanieb marked this pull request as ready for review September 11, 2023 17:32
@zanieb zanieb added the preview Related to preview mode features label Sep 11, 2023
zanieb added a commit that referenced this pull request Sep 11, 2023
If we're going to warn on use of NURSERY in #7210 we probably ought to
show the `--preview` option in our help menus.
Comment on lines +630 to +634
for selection in deprecated_nursery_selectors {
let (prefix, code) = selection.prefix_and_code();
warn_user!("Selection of nursery rule `{prefix}{code}` without the `--preview` flag is deprecated.",);
}
Copy link
Member

Choose a reason for hiding this comment

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

I'd vote to just remove that TODO -- I can't remember why it's there.

@@ -603,6 +628,18 @@ impl Configuration {
);
}

for selection in deprecated_nursery_selectors {
let (prefix, code) = selection.prefix_and_code();
warn_user!("Selection of nursery rule `{prefix}{code}` without the `--preview` flag is deprecated.",);
Copy link
Member

Choose a reason for hiding this comment

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

Because this doesn't use warn_user_once_by_id, the warnings will probably show up multiple times if we run this configuration resolution multiple times (which we might in a given invocation -- I can't remember exactly). Is it possible to use warn_user_once_by_id?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah but I'd have to construct an id string like "nursery-{prefix}{code}", is that okay? I was thinking of adding a warn_user_once_by_message utility as an alternative? 🤷‍♀️

Copy link
Member

Choose a reason for hiding this comment

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

I think that's okay (to add an ID like that)

Copy link
Member

Choose a reason for hiding this comment

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

But I think the ID has to be a static string so that may not work...

// Check if the selector is empty because preview mode is disabled
if selector.rules(PreviewMode::Disabled).next().is_none() {
ignored_preview_selectors.insert(selector);
}
Copy link
Member

Choose a reason for hiding this comment

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

Cool so this is like -- you selected CPY, but preview is disabled?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yep! I think the exact code would warn too. We could make this "safer" by adding && selector.rules(PreviewMode::Enabled).next().is_some() but I think it's equivalent for now?

Copy link
Member Author

Choose a reason for hiding this comment

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

I can't write an integration test for exact codes yet since we don't have any preview rules.

// Check if the selector is empty because preview mode is disabled
if selector.rules(PreviewMode::Disabled).next().is_none() {
ignored_preview_selectors.insert(selector);
}
Copy link
Member

Choose a reason for hiding this comment

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

And this is like -- you selected CPY, but preview is disabled?

Copy link
Member

Choose a reason for hiding this comment

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

Do both warnings show if you select CPY001? (Should they?)

Copy link
Member Author

Choose a reason for hiding this comment

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

Copy link
Member

Choose a reason for hiding this comment

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

I meant the former

if prefix.rules().any(|rule| rule.is_nursery()) {
deprecated_nursery_selectors.insert(selector);
}
}
Copy link
Member

Choose a reason for hiding this comment

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

So this like: you selected CPY001, but preview is disabled.

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.

The warnings look reasonable to me.

One issue we may run into (which we've discussed before and I know you're aware of) is that users may want to enable a small number of preview rules, but don't want to enable (e.g.) the logical line rules, which will get enabled by default if they add --preview. Not sure how to resolve... Maybe being able to --ignore PREVIEW like you suggested. Anyway, not a block here, just coming to mind as I look at these deprecations.

@codspeed-hq
Copy link

codspeed-hq bot commented Sep 12, 2023

CodSpeed Performance Report

Merging #7210 will degrade performances by 4.8%

Comparing zanie/rule-warning (0a067cc) with main (6566d00)

Summary

❌ 5 regressions
✅ 20 untouched benchmarks

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Benchmarks breakdown

Benchmark main zanie/rule-warning Change
linter/all-rules[large/dataset.py] 154.5 ms 161.9 ms -4.57%
linter/all-rules[numpy/globals.py] 4 ms 4.1 ms -2.6%
linter/all-rules[numpy/ctypeslib.py] 33.2 ms 34.3 ms -3.2%
linter/all-rules[unicode/pypinyin.py] 15.4 ms 15.7 ms -2.29%
linter/all-rules[pydantic/types.py] 69.1 ms 72.6 ms -4.8%

@zanieb
Copy link
Member Author

zanieb commented Sep 12, 2023

Not sure how to resolve... Maybe being able to --ignore PREVIEW like you suggested. Anyway, not a block here, just coming to mind as I look at these deprecations.

Yeah I'm not sure what the proper solution for is either. We can hold off on merging the deprecations until we have a path forward? I don't have strong feelings, but we should find a decent migration story this week.

@zanieb zanieb merged commit ebd1b29 into main Sep 13, 2023
14 of 15 checks passed
@zanieb zanieb deleted the zanie/rule-warning branch September 13, 2023 20:30
renovate bot added a commit to ixm-one/pytest-cmake-presets 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.289`
-> `^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.289/0.0.290?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.289/0.0.290?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### ⚠ Dependency Lookup Warnings ⚠

Warnings were logged while processing this repo. Please check the logs
for more information.

---

### 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

</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 added a commit to spiraldb/ziggy-pydust that referenced this pull request Sep 16, 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.289`
-> `^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.289/0.0.290?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.289/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

</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>
renovate bot added a commit to allenporter/flux-local 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.289`
-> `==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.289/0.0.290?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.289/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

</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>
renovate bot added a commit to allenporter/pyrainbird 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.289`
-> `==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.289/0.0.290?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.289/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

</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>
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>
zanieb added a commit that referenced this pull request Feb 1, 2024
Updated implementation of #7369
which was left out in the cold.

This was motivated again following changes in #9691 and #9689 where we
could not test the changes without actually deprecating or removing
rules.

---

Follow-up to discussion in #7210

Moves integration tests from using rules that are transitively in
nursery / preview groups to dedicated test rules that only exist during
development. These rules always raise violations (they do not require
specific file behavior). The rules are not available in production or in
the documentation.

Uses features instead of `cfg(test)` for cross-crate support per
rust-lang/cargo#8379
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
preview Related to preview mode features
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants