-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Update rule selection to respect preview mode #7195
Conversation
|
This comment was marked as resolved.
This comment was marked as resolved.
PR Check ResultsEcosystem✅ ecosystem check detected no changes. |
rules: RuleSelector::All.into_iter().collect(), | ||
rules: RuleSelector::All.all_rules().collect(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Presumably the benchmark regressions are due to including our nursery/preview rules now
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep 9522dfb — I'll do this in a separate PR to avoid blocking this one
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
8490cf3
to
16f830f
Compare
|
||
// The rule must match the selector exactly. | ||
rule.noqa_code().suffix() == prefix.short_code() | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I bet this could be encoded in the type system somehow, this feels awkward (I know that I wrote it lol). Not asking for a change here since it will likely involve more extensive changes in the macro, etc., just expressing that it feels strange.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will open a tracking issue once this is merged
@@ -1883,17 +1885,22 @@ | |||
"E1", | |||
"E10", | |||
"E101", | |||
"E11", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is some potential for confusion here that didn't exist in the nursery whereby if a user does --select E11
without --preview
, we won't throw a hard error. Instead, we'll select no rules and emit no diagnostics (IIUC), though I imagine in the future we'll want to show a warning.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep #7210 will show a warning
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just confirming (even though it's mentioned in the test plan) that no rules are actually moved to --preview
here -- it's only enabling the functionality.
@charliermarsh well all of the nursery rules will be enabled with |
} | ||
} | ||
} | ||
} | ||
|
||
/// Returns `true` if the [`RuleCodePrefix`] matches a single rule exactly | ||
/// (e.g., `E225`, as opposed to `E2`). | ||
pub(crate) fn is_single_rule_selector(prefix: &RuleCodePrefix) -> bool { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Should this be a method on RuleCodePrefix
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah maybe but it's in the macro 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can have multiple impl
blocks even in different files. For as long as they are all in the same crate. Rust will merge them all together.
// macro generated
impl RuleCodePrefix {
}
// somewhere else
impl RuleCodePrefix {
fn is_single_rule_selector(&self) -> bool {
...
}
}
@@ -19,7 +19,7 @@ struct Explanation<'a> { | |||
message_formats: &'a [&'a str], | |||
autofix: String, | |||
explanation: Option<&'a str>, | |||
nursery: bool, | |||
preview: bool, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we use PreviewMode
here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The rule is in preview and is enabled or disabled by preview mode :D I want to think a bit more about "preview" vs "preview mode" in general so thanks for pointing this out.
impl From<#linter> for crate::rule_selector::RuleSelector { | ||
fn from(linter: #linter) -> Self { | ||
Self::Prefix{prefix: RuleCodePrefix::#linter(linter), redirected_from: None} | ||
let prefix = RuleCodePrefix::#linter(linter); | ||
if is_single_rule_selector(&prefix) { | ||
Self::Rule { | ||
prefix, | ||
redirected_from: None, | ||
} | ||
} else { | ||
Self::Prefix { | ||
prefix, | ||
redirected_from: None, | ||
} | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We could move all of this logic out of the macro if we instead implement impl From<#linter> for RuleCodePrefix
because the RuleCodePrefix::#linter(linter)
code is the only code that requires code-gen
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting. I'd like to separate further changes to the macro from this pull request though, if that's okay?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah absolutely. I should have written this more clearly. This is feedback based on last week's discussion on how it probably would be possible to move a lot out of the macros if we abstracted the dynamic parts by traits instead of where we generate the implementations for our types. But this isn't something that concerns this PR. I just noticed it as a good example because the dynamic part is limited to a single line.
I'd like to do a release tomorrow before merging this. |
crates/ruff/src/rule_selector.rs
Outdated
/// The specificity when selecting via a rule prefix at one-character depth (e.g., `--select PLE1`). | ||
Prefix1Char, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I got a bit confused with "rule prefix" which made me think of the prefix part of the code i.e., "PLE" in the given example. But I think this is related to the number part, right? Maybe "Suffix1Char"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm well the specificity is that it's a prefix e.g. including "PLE10" but I agree the character count part is confusing since it just refers to the code length.
Temporarily. Looks to be causing benchmark regressions and should be considered separately.
8421200
to
4ea6f17
Compare
Split out of #7195 so benchmark changes from enabling additional rules can be reviewed separately.
I don't love the sunrise emoji and 🧪 seems nice :) Requires #7195 --------- Co-authored-by: konsti <konstin@mailbox.org>
[![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.288` -> `^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.288/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.288/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 [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7284](https://togithub.com/astral-sh/ruff/pull/7284) - Ignore `@override` method when enforcing `bad-dunder-name` rule by [@​brendonh8](https://togithub.com/brendonh8) in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/7224) - Add `NotebookIndex` to the cache by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6863](https://togithub.com/astral-sh/ruff/pull/6863) ##### Preview This release includes a new preview mode which can be used to opt-in to unstable rules and features. - Update rule selection to respect preview mode by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7195](https://togithub.com/astral-sh/ruff/pull/7195) - Display the `--preview` option in the CLI help menu by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7274](https://togithub.com/astral-sh/ruff/pull/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 - [@​brendonh8](https://togithub.com/brendonh8) made their first contribution in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/7224) **Full Changelog**: astral-sh/ruff@v0.0.288...v0.0.289 </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>
[![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.287` -> `==0.0.289` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.287/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.287/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.0.289`](https://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 [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7284](https://togithub.com/astral-sh/ruff/pull/7284) - Ignore `@override` method when enforcing `bad-dunder-name` rule by [@​brendonh8](https://togithub.com/brendonh8) in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/7224) - Add `NotebookIndex` to the cache by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6863](https://togithub.com/astral-sh/ruff/pull/6863) ##### Preview This release includes a new preview mode which can be used to opt-in to unstable rules and features. - Update rule selection to respect preview mode by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7195](https://togithub.com/astral-sh/ruff/pull/7195) - Display the `--preview` option in the CLI help menu by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7274](https://togithub.com/astral-sh/ruff/pull/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 - [@​brendonh8](https://togithub.com/brendonh8) made their first contribution in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/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 [@​MichaReiser](https://togithub.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7212](https://togithub.com/astral-sh/ruff/pull/7212) - Location agnostic GitLab fingerprints by [@​gregersn](https://togithub.com/gregersn) in [https://github.com/astral-sh/ruff/pull/7203](https://togithub.com/astral-sh/ruff/pull/7203) ##### Rules - \[`ruff`] - `RUF001`: Remove autofix for ambiguous unicode rule by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7168](https://togithub.com/astral-sh/ruff/pull/7168) ##### Settings - \[`flake8-self`] - `SLF001`: Add `extend-ignore-names` option by [@​jaap3](https://togithub.com/jaap3) in [https://github.com/astral-sh/ruff/pull/7194](https://togithub.com/astral-sh/ruff/pull/7194) ##### Bug Fixes - \[`flake8-bugbear`] - `B006`: Add newline if fix is at end-of-file by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7090](https://togithub.com/astral-sh/ruff/pull/7090) - `B006`: Fix function docstring followed by whitespace but no newline by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7160](https://togithub.com/astral-sh/ruff/pull/7160) - `B009`: Parenthesize expressions when converting to attribute access by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7091](https://togithub.com/astral-sh/ruff/pull/7091) - `B009`, `B010`: Fix `getattr` calls on `int` literals by [@​density](https://togithub.com/density) in [https://github.com/astral-sh/ruff/pull/7057](https://togithub.com/astral-sh/ruff/pull/7057) - `B013`: Supported starred exceptions in length-one tuple detection by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7080](https://togithub.com/astral-sh/ruff/pull/7080) - `B013`: Insert required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7148](https://togithub.com/astral-sh/ruff/pull/7148) - \[`flake8-comprehensions`] - `C402`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7152](https://togithub.com/astral-sh/ruff/pull/7152) - `C404` Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7185](https://togithub.com/astral-sh/ruff/pull/7185) - `C416` Add required space to fix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7204](https://togithub.com/astral-sh/ruff/pull/7204) - `C417`: Support length-2 lists in dictionary comprehension rewrites by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7081](https://togithub.com/astral-sh/ruff/pull/7081) - `C417`: Parenthesize targets if necessary by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7189](https://togithub.com/astral-sh/ruff/pull/7189) - \[`flake8-return`] - `RET504`: Add space after return when inlining number by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7116](https://togithub.com/astral-sh/ruff/pull/7116) - \[`flake8-simplify`] - `SIM105`: Avoid attempting to fix violations with multi-statement lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7191](https://togithub.com/astral-sh/ruff/pull/7191) - `SIM105` Avoid inserting an extra newline for fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7221](https://togithub.com/astral-sh/ruff/pull/7221) - `SIM118`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7150](https://togithub.com/astral-sh/ruff/pull/7150) - `SIM118`: delete `.keys()` rather than replace expression by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7223](https://togithub.com/astral-sh/ruff/pull/7223) - `SIM210`: Retain parentheses when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7118](https://togithub.com/astral-sh/ruff/pull/7118) - `SIM222`: Add parentheses when simplifying conditions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7117](https://togithub.com/astral-sh/ruff/pull/7117) - `SIM300`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7167](https://togithub.com/astral-sh/ruff/pull/7167) - \[`flake8-pytest-style`] - `PT018`: Split within `not`, rather than outside of `not` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7151](https://togithub.com/astral-sh/ruff/pull/7151) - \[`flynt`] - `FLY002`: Add required space for fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7222](https://togithub.com/astral-sh/ruff/pull/7222) - \[`numpy`] - `NPY001`: Avoid attempting to fix with overridden builtins by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7187](https://togithub.com/astral-sh/ruff/pull/7187) - `NPY003`: Use symbol import for replacement by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7083](https://togithub.com/astral-sh/ruff/pull/7083) - \[`pandas-vet`] - `PD002`: Handle parenthesized calls by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7111](https://togithub.com/astral-sh/ruff/pull/7111) - \[`pep8-naming`] - `N806`: Avoid triggering on `TypeAlias` assignments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7119](https://togithub.com/astral-sh/ruff/pull/7119) - \[`pydocstyle`] - `D204`: Fix when there's a semicolon after a docstring by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7174](https://togithub.com/astral-sh/ruff/pull/7174) - `D213`, `D400`: Ignore single quote docstrings with newline escape by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7173](https://togithub.com/astral-sh/ruff/pull/7173) - `D417`: Fix error with function docstrings with dashed lines by [@​eronnen](https://togithub.com/eronnen) in [https://github.com/astral-sh/ruff/pull/7251](https://togithub.com/astral-sh/ruff/pull/7251) - \[`pyflakes`] - `F401`: Avoid panic with noqa import name by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7260](https://togithub.com/astral-sh/ruff/pull/7260) - `F841`: Expand fixes to handle parenthesized targets by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7110](https://togithub.com/astral-sh/ruff/pull/7110) - \[`pylint`] - `PLW3301`: Copy the starred argument as is for autofix by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7177](https://togithub.com/astral-sh/ruff/pull/7177) - \[`pyupgrade`] - `UP006` and `UP007`: Add required space to fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7202](https://togithub.com/astral-sh/ruff/pull/7202) - `UP007`: Avoid attempting to fix invalid `Optional` annotations by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7079](https://togithub.com/astral-sh/ruff/pull/7079) - `UP007`: Fix syntax error in autofix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7137](https://togithub.com/astral-sh/ruff/pull/7137) - `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7112](https://togithub.com/astral-sh/ruff/pull/7112) - `UP022`: Avoid adding duplicate `capture_output` keyword to `subprocess.run` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7113](https://togithub.com/astral-sh/ruff/pull/7113) - `UP028`: Support parenthesized expressions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7114](https://togithub.com/astral-sh/ruff/pull/7114) - `UP022`: Avoid fixing when `capture_output` is provided by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7149](https://togithub.com/astral-sh/ruff/pull/7149) - `UP024`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7171](https://togithub.com/astral-sh/ruff/pull/7171) - \[`ruff`] - `RUF017`: Avoid duplicate fixes for multi-import imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7063](https://togithub.com/astral-sh/ruff/pull/7063) - Fix named expression precedence in generator by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7170](https://togithub.com/astral-sh/ruff/pull/7170) - Fix precedence of annotated assignments in generator by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7115](https://togithub.com/astral-sh/ruff/pull/7115) - Update identifier Unicode character validation to match Python spec by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/7209](https://togithub.com/astral-sh/ruff/pull/7209) ##### Other Changes - Added argfile test and documentation by [@​njgrisafi](https://togithub.com/njgrisafi) in [https://github.com/astral-sh/ruff/pull/7138](https://togithub.com/astral-sh/ruff/pull/7138) #### New Contributors - [@​oliviacrain](https://togithub.com/oliviacrain) made their first contribution in [https://github.com/astral-sh/ruff/pull/7093](https://togithub.com/astral-sh/ruff/pull/7093) - [@​dalgarno](https://togithub.com/dalgarno) made their first contribution in [https://github.com/astral-sh/ruff/pull/7108](https://togithub.com/astral-sh/ruff/pull/7108) - [@​manmartgarc](https://togithub.com/manmartgarc) made their first contribution in [https://github.com/astral-sh/ruff/pull/7179](https://togithub.com/astral-sh/ruff/pull/7179) - [@​jaap3](https://togithub.com/jaap3) made their first contribution in [https://github.com/astral-sh/ruff/pull/7194](https://togithub.com/astral-sh/ruff/pull/7194) - [@​gregersn](https://togithub.com/gregersn) made their first contribution in [https://github.com/astral-sh/ruff/pull/7203](https://togithub.com/astral-sh/ruff/pull/7203) - [@​eronnen](https://togithub.com/eronnen) made their first contribution in [https://github.com/astral-sh/ruff/pull/7251](https://togithub.com/astral-sh/ruff/pull/7251) **Full Changelog**: astral-sh/ruff@v0.0.287...v0.0.288 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/allenporter/pyrainbird). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![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.287` -> `==0.0.289` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.287/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.287/0.0.289?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>astral-sh/ruff (ruff)</summary> ### [`v0.0.289`](https://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 [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7284](https://togithub.com/astral-sh/ruff/pull/7284) - Ignore `@override` method when enforcing `bad-dunder-name` rule by [@​brendonh8](https://togithub.com/brendonh8) in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/7224) - Add `NotebookIndex` to the cache by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6863](https://togithub.com/astral-sh/ruff/pull/6863) ##### Preview This release includes a new preview mode which can be used to opt-in to unstable rules and features. - Update rule selection to respect preview mode by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7195](https://togithub.com/astral-sh/ruff/pull/7195) - Display the `--preview` option in the CLI help menu by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7274](https://togithub.com/astral-sh/ruff/pull/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 - [@​brendonh8](https://togithub.com/brendonh8) made their first contribution in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/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 [@​MichaReiser](https://togithub.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7212](https://togithub.com/astral-sh/ruff/pull/7212) - Location agnostic GitLab fingerprints by [@​gregersn](https://togithub.com/gregersn) in [https://github.com/astral-sh/ruff/pull/7203](https://togithub.com/astral-sh/ruff/pull/7203) ##### Rules - \[`ruff`] - `RUF001`: Remove autofix for ambiguous unicode rule by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7168](https://togithub.com/astral-sh/ruff/pull/7168) ##### Settings - \[`flake8-self`] - `SLF001`: Add `extend-ignore-names` option by [@​jaap3](https://togithub.com/jaap3) in [https://github.com/astral-sh/ruff/pull/7194](https://togithub.com/astral-sh/ruff/pull/7194) ##### Bug Fixes - \[`flake8-bugbear`] - `B006`: Add newline if fix is at end-of-file by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7090](https://togithub.com/astral-sh/ruff/pull/7090) - `B006`: Fix function docstring followed by whitespace but no newline by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7160](https://togithub.com/astral-sh/ruff/pull/7160) - `B009`: Parenthesize expressions when converting to attribute access by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7091](https://togithub.com/astral-sh/ruff/pull/7091) - `B009`, `B010`: Fix `getattr` calls on `int` literals by [@​density](https://togithub.com/density) in [https://github.com/astral-sh/ruff/pull/7057](https://togithub.com/astral-sh/ruff/pull/7057) - `B013`: Supported starred exceptions in length-one tuple detection by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7080](https://togithub.com/astral-sh/ruff/pull/7080) - `B013`: Insert required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7148](https://togithub.com/astral-sh/ruff/pull/7148) - \[`flake8-comprehensions`] - `C402`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7152](https://togithub.com/astral-sh/ruff/pull/7152) - `C404` Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7185](https://togithub.com/astral-sh/ruff/pull/7185) - `C416` Add required space to fix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7204](https://togithub.com/astral-sh/ruff/pull/7204) - `C417`: Support length-2 lists in dictionary comprehension rewrites by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7081](https://togithub.com/astral-sh/ruff/pull/7081) - `C417`: Parenthesize targets if necessary by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7189](https://togithub.com/astral-sh/ruff/pull/7189) - \[`flake8-return`] - `RET504`: Add space after return when inlining number by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7116](https://togithub.com/astral-sh/ruff/pull/7116) - \[`flake8-simplify`] - `SIM105`: Avoid attempting to fix violations with multi-statement lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7191](https://togithub.com/astral-sh/ruff/pull/7191) - `SIM105` Avoid inserting an extra newline for fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7221](https://togithub.com/astral-sh/ruff/pull/7221) - `SIM118`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7150](https://togithub.com/astral-sh/ruff/pull/7150) - `SIM118`: delete `.keys()` rather than replace expression by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7223](https://togithub.com/astral-sh/ruff/pull/7223) - `SIM210`: Retain parentheses when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7118](https://togithub.com/astral-sh/ruff/pull/7118) - `SIM222`: Add parentheses when simplifying conditions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7117](https://togithub.com/astral-sh/ruff/pull/7117) - `SIM300`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7167](https://togithub.com/astral-sh/ruff/pull/7167) - \[`flake8-pytest-style`] - `PT018`: Split within `not`, rather than outside of `not` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7151](https://togithub.com/astral-sh/ruff/pull/7151) - \[`flynt`] - `FLY002`: Add required space for fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7222](https://togithub.com/astral-sh/ruff/pull/7222) - \[`numpy`] - `NPY001`: Avoid attempting to fix with overridden builtins by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7187](https://togithub.com/astral-sh/ruff/pull/7187) - `NPY003`: Use symbol import for replacement by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7083](https://togithub.com/astral-sh/ruff/pull/7083) - \[`pandas-vet`] - `PD002`: Handle parenthesized calls by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7111](https://togithub.com/astral-sh/ruff/pull/7111) - \[`pep8-naming`] - `N806`: Avoid triggering on `TypeAlias` assignments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7119](https://togithub.com/astral-sh/ruff/pull/7119) - \[`pydocstyle`] - `D204`: Fix when there's a semicolon after a docstring by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7174](https://togithub.com/astral-sh/ruff/pull/7174) - `D213`, `D400`: Ignore single quote docstrings with newline escape by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7173](https://togithub.com/astral-sh/ruff/pull/7173) - `D417`: Fix error with function docstrings with dashed lines by [@​eronnen](https://togithub.com/eronnen) in [https://github.com/astral-sh/ruff/pull/7251](https://togithub.com/astral-sh/ruff/pull/7251) - \[`pyflakes`] - `F401`: Avoid panic with noqa import name by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7260](https://togithub.com/astral-sh/ruff/pull/7260) - `F841`: Expand fixes to handle parenthesized targets by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7110](https://togithub.com/astral-sh/ruff/pull/7110) - \[`pylint`] - `PLW3301`: Copy the starred argument as is for autofix by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7177](https://togithub.com/astral-sh/ruff/pull/7177) - \[`pyupgrade`] - `UP006` and `UP007`: Add required space to fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7202](https://togithub.com/astral-sh/ruff/pull/7202) - `UP007`: Avoid attempting to fix invalid `Optional` annotations by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7079](https://togithub.com/astral-sh/ruff/pull/7079) - `UP007`: Fix syntax error in autofix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7137](https://togithub.com/astral-sh/ruff/pull/7137) - `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7112](https://togithub.com/astral-sh/ruff/pull/7112) - `UP022`: Avoid adding duplicate `capture_output` keyword to `subprocess.run` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7113](https://togithub.com/astral-sh/ruff/pull/7113) - `UP028`: Support parenthesized expressions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7114](https://togithub.com/astral-sh/ruff/pull/7114) - `UP022`: Avoid fixing when `capture_output` is provided by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7149](https://togithub.com/astral-sh/ruff/pull/7149) - `UP024`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7171](https://togithub.com/astral-sh/ruff/pull/7171) - \[`ruff`] - `RUF017`: Avoid duplicate fixes for multi-import imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7063](https://togithub.com/astral-sh/ruff/pull/7063) - Fix named expression precedence in generator by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7170](https://togithub.com/astral-sh/ruff/pull/7170) - Fix precedence of annotated assignments in generator by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7115](https://togithub.com/astral-sh/ruff/pull/7115) - Update identifier Unicode character validation to match Python spec by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/7209](https://togithub.com/astral-sh/ruff/pull/7209) ##### Other Changes - Added argfile test and documentation by [@​njgrisafi](https://togithub.com/njgrisafi) in [https://github.com/astral-sh/ruff/pull/7138](https://togithub.com/astral-sh/ruff/pull/7138) #### New Contributors - [@​oliviacrain](https://togithub.com/oliviacrain) made their first contribution in [https://github.com/astral-sh/ruff/pull/7093](https://togithub.com/astral-sh/ruff/pull/7093) - [@​dalgarno](https://togithub.com/dalgarno) made their first contribution in [https://github.com/astral-sh/ruff/pull/7108](https://togithub.com/astral-sh/ruff/pull/7108) - [@​manmartgarc](https://togithub.com/manmartgarc) made their first contribution in [https://github.com/astral-sh/ruff/pull/7179](https://togithub.com/astral-sh/ruff/pull/7179) - [@​jaap3](https://togithub.com/jaap3) made their first contribution in [https://github.com/astral-sh/ruff/pull/7194](https://togithub.com/astral-sh/ruff/pull/7194) - [@​gregersn](https://togithub.com/gregersn) made their first contribution in [https://github.com/astral-sh/ruff/pull/7203](https://togithub.com/astral-sh/ruff/pull/7203) - [@​eronnen](https://togithub.com/eronnen) made their first contribution in [https://github.com/astral-sh/ruff/pull/7251](https://togithub.com/astral-sh/ruff/pull/7251) **Full Changelog**: astral-sh/ruff@v0.0.287...v0.0.288 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/allenporter/flux-local). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![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 [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7284](https://togithub.com/astral-sh/ruff/pull/7284) - Ignore `@override` method when enforcing `bad-dunder-name` rule by [@​brendonh8](https://togithub.com/brendonh8) in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/7224) - Add `NotebookIndex` to the cache by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6863](https://togithub.com/astral-sh/ruff/pull/6863) ##### Preview This release includes a new preview mode which can be used to opt-in to unstable rules and features. - Update rule selection to respect preview mode by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7195](https://togithub.com/astral-sh/ruff/pull/7195) - Display the `--preview` option in the CLI help menu by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7274](https://togithub.com/astral-sh/ruff/pull/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 - [@​brendonh8](https://togithub.com/brendonh8) made their first contribution in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/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 [@​MichaReiser](https://togithub.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7212](https://togithub.com/astral-sh/ruff/pull/7212) - Location agnostic GitLab fingerprints by [@​gregersn](https://togithub.com/gregersn) in [https://github.com/astral-sh/ruff/pull/7203](https://togithub.com/astral-sh/ruff/pull/7203) ##### Rules - \[`ruff`] - `RUF001`: Remove autofix for ambiguous unicode rule by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7168](https://togithub.com/astral-sh/ruff/pull/7168) ##### Settings - \[`flake8-self`] - `SLF001`: Add `extend-ignore-names` option by [@​jaap3](https://togithub.com/jaap3) in [https://github.com/astral-sh/ruff/pull/7194](https://togithub.com/astral-sh/ruff/pull/7194) ##### Bug Fixes - \[`flake8-bugbear`] - `B006`: Add newline if fix is at end-of-file by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7090](https://togithub.com/astral-sh/ruff/pull/7090) - `B006`: Fix function docstring followed by whitespace but no newline by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7160](https://togithub.com/astral-sh/ruff/pull/7160) - `B009`: Parenthesize expressions when converting to attribute access by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7091](https://togithub.com/astral-sh/ruff/pull/7091) - `B009`, `B010`: Fix `getattr` calls on `int` literals by [@​density](https://togithub.com/density) in [https://github.com/astral-sh/ruff/pull/7057](https://togithub.com/astral-sh/ruff/pull/7057) - `B013`: Supported starred exceptions in length-one tuple detection by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7080](https://togithub.com/astral-sh/ruff/pull/7080) - `B013`: Insert required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7148](https://togithub.com/astral-sh/ruff/pull/7148) - \[`flake8-comprehensions`] - `C402`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7152](https://togithub.com/astral-sh/ruff/pull/7152) - `C404` Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7185](https://togithub.com/astral-sh/ruff/pull/7185) - `C416` Add required space to fix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7204](https://togithub.com/astral-sh/ruff/pull/7204) - `C417`: Support length-2 lists in dictionary comprehension rewrites by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7081](https://togithub.com/astral-sh/ruff/pull/7081) - `C417`: Parenthesize targets if necessary by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7189](https://togithub.com/astral-sh/ruff/pull/7189) - \[`flake8-return`] - `RET504`: Add space after return when inlining number by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7116](https://togithub.com/astral-sh/ruff/pull/7116) - \[`flake8-simplify`] - `SIM105`: Avoid attempting to fix violations with multi-statement lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7191](https://togithub.com/astral-sh/ruff/pull/7191) - `SIM105` Avoid inserting an extra newline for fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7221](https://togithub.com/astral-sh/ruff/pull/7221) - `SIM118`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7150](https://togithub.com/astral-sh/ruff/pull/7150) - `SIM118`: delete `.keys()` rather than replace expression by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7223](https://togithub.com/astral-sh/ruff/pull/7223) - `SIM210`: Retain parentheses when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7118](https://togithub.com/astral-sh/ruff/pull/7118) - `SIM222`: Add parentheses when simplifying conditions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7117](https://togithub.com/astral-sh/ruff/pull/7117) - `SIM300`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7167](https://togithub.com/astral-sh/ruff/pull/7167) - \[`flake8-pytest-style`] - `PT018`: Split within `not`, rather than outside of `not` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7151](https://togithub.com/astral-sh/ruff/pull/7151) - \[`flynt`] - `FLY002`: Add required space for fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7222](https://togithub.com/astral-sh/ruff/pull/7222) - \[`numpy`] - `NPY001`: Avoid attempting to fix with overridden builtins by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7187](https://togithub.com/astral-sh/ruff/pull/7187) - `NPY003`: Use symbol import for replacement by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7083](https://togithub.com/astral-sh/ruff/pull/7083) - \[`pandas-vet`] - `PD002`: Handle parenthesized calls by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7111](https://togithub.com/astral-sh/ruff/pull/7111) - \[`pep8-naming`] - `N806`: Avoid triggering on `TypeAlias` assignments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7119](https://togithub.com/astral-sh/ruff/pull/7119) - \[`pydocstyle`] - `D204`: Fix when there's a semicolon after a docstring by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7174](https://togithub.com/astral-sh/ruff/pull/7174) - `D213`, `D400`: Ignore single quote docstrings with newline escape by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7173](https://togithub.com/astral-sh/ruff/pull/7173) - `D417`: Fix error with function docstrings with dashed lines by [@​eronnen](https://togithub.com/eronnen) in [https://github.com/astral-sh/ruff/pull/7251](https://togithub.com/astral-sh/ruff/pull/7251) - \[`pyflakes`] - `F401`: Avoid panic with noqa import name by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7260](https://togithub.com/astral-sh/ruff/pull/7260) - `F841`: Expand fixes to handle parenthesized targets by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7110](https://togithub.com/astral-sh/ruff/pull/7110) - \[`pylint`] - `PLW3301`: Copy the starred argument as is for autofix by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7177](https://togithub.com/astral-sh/ruff/pull/7177) - \[`pyupgrade`] - `UP006` and `UP007`: Add required space to fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7202](https://togithub.com/astral-sh/ruff/pull/7202) - `UP007`: Avoid attempting to fix invalid `Optional` annotations by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7079](https://togithub.com/astral-sh/ruff/pull/7079) - `UP007`: Fix syntax error in autofix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7137](https://togithub.com/astral-sh/ruff/pull/7137) - `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7112](https://togithub.com/astral-sh/ruff/pull/7112) - `UP022`: Avoid adding duplicate `capture_output` keyword to `subprocess.run` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7113](https://togithub.com/astral-sh/ruff/pull/7113) - `UP028`: Support parenthesized expressions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7114](https://togithub.com/astral-sh/ruff/pull/7114) - `UP022`: Avoid fixing when `capture_output` is provided by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7149](https://togithub.com/astral-sh/ruff/pull/7149) - `UP024`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7171](https://togithub.com/astral-sh/ruff/pull/7171) - \[`ruff`] - `RUF017`: Avoid duplicate fixes for multi-import imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7063](https://togithub.com/astral-sh/ruff/pull/7063) - Fix named expression precedence in generator by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7170](https://togithub.com/astral-sh/ruff/pull/7170) - Fix precedence of annotated assignments in generator by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7115](https://togithub.com/astral-sh/ruff/pull/7115) - Update identifier Unicode character validation to match Python spec by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/7209](https://togithub.com/astral-sh/ruff/pull/7209) ##### Other Changes - Added argfile test and documentation by [@​njgrisafi](https://togithub.com/njgrisafi) in [https://github.com/astral-sh/ruff/pull/7138](https://togithub.com/astral-sh/ruff/pull/7138) #### New Contributors - [@​oliviacrain](https://togithub.com/oliviacrain) made their first contribution in [https://github.com/astral-sh/ruff/pull/7093](https://togithub.com/astral-sh/ruff/pull/7093) - [@​dalgarno](https://togithub.com/dalgarno) made their first contribution in [https://github.com/astral-sh/ruff/pull/7108](https://togithub.com/astral-sh/ruff/pull/7108) - [@​manmartgarc](https://togithub.com/manmartgarc) made their first contribution in [https://github.com/astral-sh/ruff/pull/7179](https://togithub.com/astral-sh/ruff/pull/7179) - [@​jaap3](https://togithub.com/jaap3) made their first contribution in [https://github.com/astral-sh/ruff/pull/7194](https://togithub.com/astral-sh/ruff/pull/7194) - [@​gregersn](https://togithub.com/gregersn) made their first contribution in [https://github.com/astral-sh/ruff/pull/7203](https://togithub.com/astral-sh/ruff/pull/7203) - [@​eronnen](https://togithub.com/eronnen) made their first contribution in [https://github.com/astral-sh/ruff/pull/7251](https://togithub.com/astral-sh/ruff/pull/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 [@​SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6702](https://togithub.com/astral-sh/ruff/pull/6702) - \[refurb] Implement preview `delete-full-slice` rule (`FURB131`) by [@​SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6897](https://togithub.com/astral-sh/ruff/pull/6897) - \[refurb] Implement preview `check-and-remove-from-set` rule (`FURB132`) by [@​SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6904](https://togithub.com/astral-sh/ruff/pull/6904) ##### Bug Fixes - Expand `PERF401` and `PERF402` with type checks by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/6994](https://togithub.com/astral-sh/ruff/pull/6994) - Insert space to avoid syntax error in RSE fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6886](https://togithub.com/astral-sh/ruff/pull/6886) - Avoid PEP 604 upgrades that lead to invalid syntax by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6888](https://togithub.com/astral-sh/ruff/pull/6888) - Fix ranges for global usages by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6917](https://togithub.com/astral-sh/ruff/pull/6917) - Avoid invalid fix for C417 with separate keys and values by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6954](https://togithub.com/astral-sh/ruff/pull/6954) - Avoid panic when `typename` is provided as a keyword argument by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6955](https://togithub.com/astral-sh/ruff/pull/6955) - Improve compatibility between multi-statement PYI rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7024](https://togithub.com/astral-sh/ruff/pull/7024) - Fixed panic in `missing_copyright_notice` by [@​WindowGenerator](https://togithub.com/WindowGenerator) in [https://github.com/astral-sh/ruff/pull/7029](https://togithub.com/astral-sh/ruff/pull/7029) - Avoid lexer infinite loop on invalid input by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6937](https://togithub.com/astral-sh/ruff/pull/6937) - Fix `WithItem` ranges for parenthesized, non-`as` items by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6782](https://togithub.com/astral-sh/ruff/pull/6782) #### New Contributors - [@​SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) made their first contribution in [https://github.com/astral-sh/ruff/pull/6702](https://togithub.com/astral-sh/ruff/pull/6702) - [@​Anselmoo](https://togithub.com/Anselmoo) made their first contribution in [https://github.com/astral-sh/ruff/pull/6986](https://togithub.com/astral-sh/ruff/pull/6986) - [@​njgrisafi](https://togithub.com/njgrisafi) made their first contribution in [https://github.com/astral-sh/ruff/pull/7032](https://togithub.com/astral-sh/ruff/pull/7032) - [@​WindowGenerator](https://togithub.com/WindowGenerator) made their first contribution in [https://github.com/astral-sh/ruff/pull/7029](https://togithub.com/astral-sh/ruff/pull/7029) **Full Changelog**: astral-sh/ruff@v0.0.286...v0.0.287 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/fulcrum-so/ziggy-pydust). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![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 [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7356](https://togithub.com/astral-sh/ruff/pull/7356) - Add support for bounds, constraints, and explicit variance on generic type variables to `UP040` by [@​nathanwhit](https://togithub.com/nathanwhit) in [https://github.com/astral-sh/ruff/pull/6749](https://togithub.com/astral-sh/ruff/pull/6749) ##### Settings - Show rule codes in shell tab completion by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7375](https://togithub.com/astral-sh/ruff/pull/7375) ##### Bug Fixes - Parenthesize single-generator arguments when adding reverse keyword by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7365](https://togithub.com/astral-sh/ruff/pull/7365) - Invert reverse argument regardless of whether it's a boolean by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7372](https://togithub.com/astral-sh/ruff/pull/7372) - Extend `C416` to catch tuple unpacking by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7363](https://togithub.com/astral-sh/ruff/pull/7363) - Allow `NURSERY` rule selctor in JSON Schema by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7374](https://togithub.com/astral-sh/ruff/pull/7374) - Avoid flagging single-quoted docstrings with continuations for multi-line rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7392](https://togithub.com/astral-sh/ruff/pull/7392) - Treat whitespace-only line as blank for `D411` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7351](https://togithub.com/astral-sh/ruff/pull/7351) ##### Preview [*What's this section?*](https://beta.ruff.rs/docs/preview/) - \[`flake8-logging`] New rule `undocumented-warn` (`LOG009`) by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/7249](https://togithub.com/astral-sh/ruff/pull/7249) - \[`flake8-logging`] New rule `direct-logger-instantiation` (`LOG001`) by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7397](https://togithub.com/astral-sh/ruff/pull/7397) - \[`flake8-logging`] New plugin `flake8_logging` (`LOG`) by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/7249](https://togithub.com/astral-sh/ruff/pull/7249) - \[`perflint`] Add `manual-dict-comprehsion` (`PERF403`) by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/6132](https://togithub.com/astral-sh/ruff/pull/6132) - \[`pylint`] New rule `too-many-public-methods` (`PLR0904`) by [@​jelly](https://togithub.com/jelly) in [https://github.com/astral-sh/ruff/pull/6179](https://togithub.com/astral-sh/ruff/pull/6179) - \[`refurb`] New rule `no-slice-copy` (`FURB145`) by [@​tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/7007](https://togithub.com/astral-sh/ruff/pull/7007) - Add warnings for nursery and preview rule selection by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7210](https://togithub.com/astral-sh/ruff/pull/7210) - Remove the `PREVIEW` rule selector by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7389](https://togithub.com/astral-sh/ruff/pull/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 [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff-pre-commit/pull/50](https://togithub.com/astral-sh/ruff-pre-commit/pull/50) #### New Contributors - [@​nathanwhit](https://togithub.com/nathanwhit) made their first contribution in [https://github.com/astral-sh/ruff/pull/6749](https://togithub.com/astral-sh/ruff/pull/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 [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7284](https://togithub.com/astral-sh/ruff/pull/7284) - Ignore `@override` method when enforcing `bad-dunder-name` rule by [@​brendonh8](https://togithub.com/brendonh8) in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/7224) - Add `NotebookIndex` to the cache by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6863](https://togithub.com/astral-sh/ruff/pull/6863) ##### Preview This release includes a new preview mode which can be used to opt-in to unstable rules and features. - Update rule selection to respect preview mode by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7195](https://togithub.com/astral-sh/ruff/pull/7195) - Display the `--preview` option in the CLI help menu by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7274](https://togithub.com/astral-sh/ruff/pull/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 - [@​brendonh8](https://togithub.com/brendonh8) made their first contribution in [https://github.com/astral-sh/ruff/pull/7224](https://togithub.com/astral-sh/ruff/pull/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 [@​MichaReiser](https://togithub.com/MichaReiser) in [https://github.com/astral-sh/ruff/pull/7212](https://togithub.com/astral-sh/ruff/pull/7212) - Location agnostic GitLab fingerprints by [@​gregersn](https://togithub.com/gregersn) in [https://github.com/astral-sh/ruff/pull/7203](https://togithub.com/astral-sh/ruff/pull/7203) ##### Rules - \[`ruff`] - `RUF001`: Remove autofix for ambiguous unicode rule by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7168](https://togithub.com/astral-sh/ruff/pull/7168) ##### Settings - \[`flake8-self`] - `SLF001`: Add `extend-ignore-names` option by [@​jaap3](https://togithub.com/jaap3) in [https://github.com/astral-sh/ruff/pull/7194](https://togithub.com/astral-sh/ruff/pull/7194) ##### Bug Fixes - \[`flake8-bugbear`] - `B006`: Add newline if fix is at end-of-file by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7090](https://togithub.com/astral-sh/ruff/pull/7090) - `B006`: Fix function docstring followed by whitespace but no newline by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/7160](https://togithub.com/astral-sh/ruff/pull/7160) - `B009`: Parenthesize expressions when converting to attribute access by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7091](https://togithub.com/astral-sh/ruff/pull/7091) - `B009`, `B010`: Fix `getattr` calls on `int` literals by [@​density](https://togithub.com/density) in [https://github.com/astral-sh/ruff/pull/7057](https://togithub.com/astral-sh/ruff/pull/7057) - `B013`: Supported starred exceptions in length-one tuple detection by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7080](https://togithub.com/astral-sh/ruff/pull/7080) - `B013`: Insert required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7148](https://togithub.com/astral-sh/ruff/pull/7148) - \[`flake8-comprehensions`] - `C402`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7152](https://togithub.com/astral-sh/ruff/pull/7152) - `C404` Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7185](https://togithub.com/astral-sh/ruff/pull/7185) - `C416` Add required space to fix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7204](https://togithub.com/astral-sh/ruff/pull/7204) - `C417`: Support length-2 lists in dictionary comprehension rewrites by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7081](https://togithub.com/astral-sh/ruff/pull/7081) - `C417`: Parenthesize targets if necessary by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7189](https://togithub.com/astral-sh/ruff/pull/7189) - \[`flake8-return`] - `RET504`: Add space after return when inlining number by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7116](https://togithub.com/astral-sh/ruff/pull/7116) - \[`flake8-simplify`] - `SIM105`: Avoid attempting to fix violations with multi-statement lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7191](https://togithub.com/astral-sh/ruff/pull/7191) - `SIM105` Avoid inserting an extra newline for fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7221](https://togithub.com/astral-sh/ruff/pull/7221) - `SIM118`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7150](https://togithub.com/astral-sh/ruff/pull/7150) - `SIM118`: delete `.keys()` rather than replace expression by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7223](https://togithub.com/astral-sh/ruff/pull/7223) - `SIM210`: Retain parentheses when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7118](https://togithub.com/astral-sh/ruff/pull/7118) - `SIM222`: Add parentheses when simplifying conditions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7117](https://togithub.com/astral-sh/ruff/pull/7117) - `SIM300`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7167](https://togithub.com/astral-sh/ruff/pull/7167) - \[`flake8-pytest-style`] - `PT018`: Split within `not`, rather than outside of `not` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7151](https://togithub.com/astral-sh/ruff/pull/7151) - \[`flynt`] - `FLY002`: Add required space for fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7222](https://togithub.com/astral-sh/ruff/pull/7222) - \[`numpy`] - `NPY001`: Avoid attempting to fix with overridden builtins by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7187](https://togithub.com/astral-sh/ruff/pull/7187) - `NPY003`: Use symbol import for replacement by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7083](https://togithub.com/astral-sh/ruff/pull/7083) - \[`pandas-vet`] - `PD002`: Handle parenthesized calls by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7111](https://togithub.com/astral-sh/ruff/pull/7111) - \[`pep8-naming`] - `N806`: Avoid triggering on `TypeAlias` assignments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7119](https://togithub.com/astral-sh/ruff/pull/7119) - \[`pydocstyle`] - `D204`: Fix when there's a semicolon after a docstring by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7174](https://togithub.com/astral-sh/ruff/pull/7174) - `D213`, `D400`: Ignore single quote docstrings with newline escape by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/7173](https://togithub.com/astral-sh/ruff/pull/7173) - `D417`: Fix error with function docstrings with dashed lines by [@​eronnen](https://togithub.com/eronnen) in [https://github.com/astral-sh/ruff/pull/7251](https://togithub.com/astral-sh/ruff/pull/7251) - \[`pyflakes`] - `F401`: Avoid panic with noqa import name by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7260](https://togithub.com/astral-sh/ruff/pull/7260) - `F841`: Expand fixes to handle parenthesized targets by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7110](https://togithub.com/astral-sh/ruff/pull/7110) - \[`pylint`] - `PLW3301`: Copy the starred argument as is for autofix by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/7177](https://togithub.com/astral-sh/ruff/pull/7177) - \[`pyupgrade`] - `UP006` and `UP007`: Add required space to fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7202](https://togithub.com/astral-sh/ruff/pull/7202) - `UP007`: Avoid attempting to fix invalid `Optional` annotations by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7079](https://togithub.com/astral-sh/ruff/pull/7079) - `UP007`: Fix syntax error in autofix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7137](https://togithub.com/astral-sh/ruff/pull/7137) - `UP021`: Avoid adding duplicate `text` keyword to `subprocess.run` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7112](https://togithub.com/astral-sh/ruff/pull/7112) - `UP022`: Avoid adding duplicate `capture_output` keyword to `subprocess.run` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7113](https://togithub.com/astral-sh/ruff/pull/7113) - `UP028`: Support parenthesized expressions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7114](https://togithub.com/astral-sh/ruff/pull/7114) - `UP022`: Avoid fixing when `capture_output` is provided by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7149](https://togithub.com/astral-sh/ruff/pull/7149) - `UP024`: Add required space when fixing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7171](https://togithub.com/astral-sh/ruff/pull/7171) - \[`ruff`] - `RUF017`: Avoid duplicate fixes for multi-import imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7063](https://togithub.com/astral-sh/ruff/pull/7063) - Fix named expression precedence in generator by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7170](https://togithub.com/astral-sh/ruff/pull/7170) - Fix precedence of annotated assignments in generator by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7115](https://togithub.com/astral-sh/ruff/pull/7115) - Update identifier Unicode character validation to match Python spec by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/7209](https://togithub.com/astral-sh/ruff/pull/7209) ##### Other Changes - Added argfile test and documentation by [@​njgrisafi](https://togithub.com/njgrisafi) in [https://github.com/astral-sh/ruff/pull/7138](https://togithub.com/astral-sh/ruff/pull/7138) #### New Contributors - [@​oliviacrain](https://togithub.com/oliviacrain) made their first contribution in [https://github.com/astral-sh/ruff/pull/7093](https://togithub.com/astral-sh/ruff/pull/7093) - [@​dalgarno](https://togithub.com/dalgarno) made their first contribution in [https://github.com/astral-sh/ruff/pull/7108](https://togithub.com/astral-sh/ruff/pull/7108) - [@​manmartgarc](https://togithub.com/manmartgarc) made their first contribution in [https://github.com/astral-sh/ruff/pull/7179](https://togithub.com/astral-sh/ruff/pull/7179) - [@​jaap3](https://togithub.com/jaap3) made their first contribution in [https://github.com/astral-sh/ruff/pull/7194](https://togithub.com/astral-sh/ruff/pull/7194) - [@​gregersn](https://togithub.com/gregersn) made their first contribution in [https://github.com/astral-sh/ruff/pull/7203](https://togithub.com/astral-sh/ruff/pull/7203) - [@​eronnen](https://togithub.com/eronnen) made their first contribution in [https://github.com/astral-sh/ruff/pull/7251](https://togithub.com/astral-sh/ruff/pull/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 [@​SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6702](https://togithub.com/astral-sh/ruff/pull/6702) - \[refurb] Implement preview `delete-full-slice` rule (`FURB131`) by [@​SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6897](https://togithub.com/astral-sh/ruff/pull/6897) - \[refurb] Implement preview `check-and-remove-from-set` rule (`FURB132`) by [@​SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) in [https://github.com/astral-sh/ruff/pull/6904](https://togithub.com/astral-sh/ruff/pull/6904) ##### Bug Fixes - Expand `PERF401` and `PERF402` with type checks by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/astral-sh/ruff/pull/6994](https://togithub.com/astral-sh/ruff/pull/6994) - Insert space to avoid syntax error in RSE fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6886](https://togithub.com/astral-sh/ruff/pull/6886) - Avoid PEP 604 upgrades that lead to invalid syntax by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6888](https://togithub.com/astral-sh/ruff/pull/6888) - Fix ranges for global usages by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6917](https://togithub.com/astral-sh/ruff/pull/6917) - Avoid invalid fix for C417 with separate keys and values by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6954](https://togithub.com/astral-sh/ruff/pull/6954) - Avoid panic when `typename` is provided as a keyword argument by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6955](https://togithub.com/astral-sh/ruff/pull/6955) - Improve compatibility between multi-statement PYI rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/7024](https://togithub.com/astral-sh/ruff/pull/7024) - Fixed panic in `missing_copyright_notice` by [@​WindowGenerator](https://togithub.com/WindowGenerator) in [https://github.com/astral-sh/ruff/pull/7029](https://togithub.com/astral-sh/ruff/pull/7029) - Avoid lexer infinite loop on invalid input by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6937](https://togithub.com/astral-sh/ruff/pull/6937) - Fix `WithItem` ranges for parenthesized, non-`as` items by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6782](https://togithub.com/astral-sh/ruff/pull/6782) #### New Contributors - [@​SavchenkoValeriy](https://togithub.com/SavchenkoValeriy) made their first contribution in [https://github.com/astral-sh/ruff/pull/6702](https://togithub.com/astral-sh/ruff/pull/6702) - [@​Anselmoo](https://togithub.com/Anselmoo) made their first contribution in [https://github.com/astral-sh/ruff/pull/6986](https://togithub.com/astral-sh/ruff/pull/6986) - [@​njgrisafi](https://togithub.com/njgrisafi) made their first contribution in [https://github.com/astral-sh/ruff/pull/7032](https://togithub.com/astral-sh/ruff/pull/7032) - [@​WindowGenerator](https://togithub.com/WindowGenerator) made their first contribution in [https://github.com/astral-sh/ruff/pull/7029](https://togithub.com/astral-sh/ruff/pull/7029) **Full Changelog**: astral-sh/ruff@v0.0.286...v0.0.287 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/fulcrum-so/ziggy-pydust-template). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi44My4wIiwidXBkYXRlZEluVmVyIjoiMzYuODMuMCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Summary
Extends work in #7046 (some relevant discussion there)
Changes:
--preview --ignore PREVIEW --extend-select FOO001,BAR200
--preview
enables preview rules that match selectorsNotable decisions:
Additional work:
Test Plan
Manual confirmation (i.e. we don't have an preview rules yet just nursery rules so I added a preview rule for manual testing)
New unit tests