-
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
Avoid D403
if first char cannot be uppercased
#4283
Avoid D403
if first char cannot be uppercased
#4283
Conversation
PR Check ResultsEcosystem✅ ecosystem check detected no changes. BenchmarkLinux
Windows
|
if first_char | ||
.to_uppercase() | ||
.next() | ||
.map_or(false, |uppercase_first_char| { | ||
uppercase_first_char == first_char | ||
}) | ||
{ | ||
return; | ||
} |
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: I wonder if we should change the check above to !first_char.is_lowercase()
(maybe add a comment why we aren't using is_uppercase
. I might be wrong but I would expect that every char that is lowercase can be converted to uppercase.
Edit:
I think your fix is safer and easier to understand.
@@ -59,6 +59,15 @@ pub fn capitalized(checker: &mut Checker, docstring: &Docstring) { | |||
if first_char.is_uppercase() { | |||
return; | |||
}; | |||
if first_char | |||
.to_uppercase() | |||
.next() |
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.
Do we know why to_uppercase
returns an iterator? When would it have 0, or more than 1 element?
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.
Because Unicode.
The problem is that there's absolutely no guarantee that converting the case of a single code point will result in a single code point. For example, "ß" uppercases to "SS".
We avoid checking further if it's not an ASCII alphabet whose code is just a few lines above this, but I think you already updated the code :)
[![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://github.com/charliermarsh/ruff) ([changelog](https://github.com/charliermarsh/ruff/releases)) | `^0.0.265` -> `^0.0.267` | [![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/compatibility-slim/0.0.265)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/confidence-slim/0.0.265)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>charliermarsh/ruff</summary> ### [`v0.0.267`](https://github.com/charliermarsh/ruff/releases/tag/v0.0.267) [Compare Source](https://github.com/charliermarsh/ruff/compare/v0.0.266...v0.0.267) <!-- Release notes generated using configuration in .github/release.yml at main --> #### Summary Follow-up release to v0.0.266 to fix an issue with `python -m ruff`- and `import ruff`-based workflows. (No new rules or functionality.) #### What's Changed ##### Rules - Implement `RUF010` to detect explicit type conversions within f-strings by [@​LotemAm](https://github.com/LotemAm) in [https://github.com/charliermarsh/ruff/pull/4387](https://github.com/charliermarsh/ruff/pull/4387) ##### Other Changes - Workaround for maturin bug by [@​konstin](https://github.com/konstin) in [https://github.com/charliermarsh/ruff/pull/4399](https://github.com/charliermarsh/ruff/pull/4399) #### New Contributors - [@​OMEGARAZER](https://github.com/OMEGARAZER) made their first contribution in [https://github.com/charliermarsh/ruff/pull/3938](https://github.com/charliermarsh/ruff/pull/3938) - [@​LotemAm](https://github.com/LotemAm) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4387](https://github.com/charliermarsh/ruff/pull/4387) **Full Changelog**: astral-sh/ruff@v0.0.266...v0.0.267 ### [`v0.0.266`](https://github.com/charliermarsh/ruff/releases/tag/v0.0.266) [Compare Source](https://github.com/charliermarsh/ruff/compare/v0.0.265...v0.0.266) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### Breaking Changes - Remove deprecated `update-check` setting by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4313](https://github.com/charliermarsh/ruff/pull/4313) - JSON Emitter: Use one indexed column numbers for edits by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/charliermarsh/ruff/pull/4007](https://github.com/charliermarsh/ruff/pull/4007) ##### Rules - \[`pygrep-hooks`] Implement pygrep-hook's Mock-mistake diagnostic by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4366](https://github.com/charliermarsh/ruff/pull/4366) - \[`pylint`] Implement `nested-min-max` (`W3301`) by [@​mccullocht](https://github.com/mccullocht) in [https://github.com/charliermarsh/ruff/pull/4200](https://github.com/charliermarsh/ruff/pull/4200) - \[`flynt`] Implement Flynt static string join transform as FLY002 by [@​akx](https://github.com/akx) in [https://github.com/charliermarsh/ruff/pull/4196](https://github.com/charliermarsh/ruff/pull/4196) - \[`pylint`] Include positional- and keyword-only arguments in too-many-arguments by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4329](https://github.com/charliermarsh/ruff/pull/4329) - \[`ruff`] Update confusable character mapping by [@​akx](https://github.com/akx) in [https://github.com/charliermarsh/ruff/pull/4274](https://github.com/charliermarsh/ruff/pull/4274) ##### Settings - Add .git-rewrite folder to default ignored folder paths by [@​jleclanche](https://github.com/jleclanche) in [https://github.com/charliermarsh/ruff/pull/4261](https://github.com/charliermarsh/ruff/pull/4261) - Feat: detect changes also in configuration files by [@​mikeleppane](https://github.com/mikeleppane) in [https://github.com/charliermarsh/ruff/pull/4169](https://github.com/charliermarsh/ruff/pull/4169) ##### Bug Fixes - Revert the B027 autofix logic by [@​aacunningham](https://github.com/aacunningham) in [https://github.com/charliermarsh/ruff/pull/4310](https://github.com/charliermarsh/ruff/pull/4310) - Consider Flask app logger as logger candidate by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4253](https://github.com/charliermarsh/ruff/pull/4253) - Enforce max-doc-length for multi-line docstrings by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4347](https://github.com/charliermarsh/ruff/pull/4347) - Avoid re-using imports beyond current edit site by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4378](https://github.com/charliermarsh/ruff/pull/4378) - Respect insertion location when importing symbols by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4258](https://github.com/charliermarsh/ruff/pull/4258) - Fix jemalloc page size on aarch64 by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/charliermarsh/ruff/pull/4247](https://github.com/charliermarsh/ruff/pull/4247) - Fix replace_whitespace() tabulation to space by [@​JonathanPlasse](https://github.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4226](https://github.com/charliermarsh/ruff/pull/4226) - Avoid fixing `PD002` in a lambda expression by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4286](https://github.com/charliermarsh/ruff/pull/4286) - Avoid `D403` if first char cannot be uppercased by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4283](https://github.com/charliermarsh/ruff/pull/4283) - Avoid panics for f-string rewrites at start-of-file by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4291](https://github.com/charliermarsh/ruff/pull/4291) - Rewrite `not not a` as `bool(a)` in boolean contexts by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4294](https://github.com/charliermarsh/ruff/pull/4294) - Include static and class methods in in abstract decorator list by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4298](https://github.com/charliermarsh/ruff/pull/4298) - Specify exact command in incorrect parentheses suggestion by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4300](https://github.com/charliermarsh/ruff/pull/4300) - Ignore `TRY301` exceptions without except handlers by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4301](https://github.com/charliermarsh/ruff/pull/4301) - Preserve whitespace around `ListComp` brackets in `C419` by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4099](https://github.com/charliermarsh/ruff/pull/4099) - Tweak capitalization of B021 message by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4350](https://github.com/charliermarsh/ruff/pull/4350) - Avoid debug panic with empty indent replacement by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4364](https://github.com/charliermarsh/ruff/pull/4364) - Use target name in hardcoded-password diagnostics by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4365](https://github.com/charliermarsh/ruff/pull/4365) - Avoid underflow in expected-special-method-signature by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4377](https://github.com/charliermarsh/ruff/pull/4377) - Respect `__all__` imports when determining definition visibility by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4357](https://github.com/charliermarsh/ruff/pull/4357) - Ignore some methods on list in `flake8-boolean-trap` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4385](https://github.com/charliermarsh/ruff/pull/4385) - Fix false positives in PD002 by [@​evanrittenhouse](https://github.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/4337](https://github.com/charliermarsh/ruff/pull/4337) - Run autofix on initial watcher pass by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4311](https://github.com/charliermarsh/ruff/pull/4311) - Avoid SIM105 autofixes that would remove comments by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4330](https://github.com/charliermarsh/ruff/pull/4330) - Handle `.encode` calls on parenthesized expressions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4338](https://github.com/charliermarsh/ruff/pull/4338) - Truncate `SyntaxError`s before newline character by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/charliermarsh/ruff/pull/4124](https://github.com/charliermarsh/ruff/pull/4124) - Use non-empty ranges for logical-lines diagnostics by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/charliermarsh/ruff/pull/4133](https://github.com/charliermarsh/ruff/pull/4133) #### New Contributors - [@​jleclanche](https://github.com/jleclanche) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4261](https://github.com/charliermarsh/ruff/pull/4261) - [@​aureliojargas](https://github.com/aureliojargas) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4306](https://github.com/charliermarsh/ruff/pull/4306) - [@​intgr](https://github.com/intgr) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4304](https://github.com/charliermarsh/ruff/pull/4304) - [@​mikeleppane](https://github.com/mikeleppane) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4169](https://github.com/charliermarsh/ruff/pull/4169) - [@​dependabot](https://github.com/dependabot) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4354](https://github.com/charliermarsh/ruff/pull/4354) **Full Changelog**: astral-sh/ruff@v0.0.265...v0.0.266 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/ixm-one/pytest-cmake-presets). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS43OS4xIiwidXBkYXRlZEluVmVyIjoiMzUuNzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Signed-off-by: Renovate Bot <bot@renovateapp.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://github.com/charliermarsh/ruff) ([changelog](https://github.com/charliermarsh/ruff/releases)) | `==0.0.265` -> `==0.0.267` | [![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/compatibility-slim/0.0.265)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/confidence-slim/0.0.265)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>charliermarsh/ruff</summary> ### [`v0.0.267`](https://github.com/charliermarsh/ruff/releases/tag/v0.0.267) [Compare Source](https://github.com/charliermarsh/ruff/compare/v0.0.266...v0.0.267) <!-- Release notes generated using configuration in .github/release.yml at main --> #### Summary Follow-up release to v0.0.266 to fix an issue with `python -m ruff`- and `import ruff`-based workflows. (No new rules or functionality.) #### What's Changed ##### Rules - Implement `RUF010` to detect explicit type conversions within f-strings by [@​LotemAm](https://github.com/LotemAm) in [https://github.com/charliermarsh/ruff/pull/4387](https://github.com/charliermarsh/ruff/pull/4387) ##### Other Changes - Workaround for maturin bug by [@​konstin](https://github.com/konstin) in [https://github.com/charliermarsh/ruff/pull/4399](https://github.com/charliermarsh/ruff/pull/4399) #### New Contributors - [@​OMEGARAZER](https://github.com/OMEGARAZER) made their first contribution in [https://github.com/charliermarsh/ruff/pull/3938](https://github.com/charliermarsh/ruff/pull/3938) - [@​LotemAm](https://github.com/LotemAm) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4387](https://github.com/charliermarsh/ruff/pull/4387) **Full Changelog**: astral-sh/ruff@v0.0.266...v0.0.267 ### [`v0.0.266`](https://github.com/charliermarsh/ruff/releases/tag/v0.0.266) [Compare Source](https://github.com/charliermarsh/ruff/compare/v0.0.265...v0.0.266) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### Breaking Changes - Remove deprecated `update-check` setting by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4313](https://github.com/charliermarsh/ruff/pull/4313) - JSON Emitter: Use one indexed column numbers for edits by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/charliermarsh/ruff/pull/4007](https://github.com/charliermarsh/ruff/pull/4007) ##### Rules - \[`pygrep-hooks`] Implement pygrep-hook's Mock-mistake diagnostic by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4366](https://github.com/charliermarsh/ruff/pull/4366) - \[`pylint`] Implement `nested-min-max` (`W3301`) by [@​mccullocht](https://github.com/mccullocht) in [https://github.com/charliermarsh/ruff/pull/4200](https://github.com/charliermarsh/ruff/pull/4200) - \[`flynt`] Implement Flynt static string join transform as FLY002 by [@​akx](https://github.com/akx) in [https://github.com/charliermarsh/ruff/pull/4196](https://github.com/charliermarsh/ruff/pull/4196) - \[`pylint`] Include positional- and keyword-only arguments in too-many-arguments by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4329](https://github.com/charliermarsh/ruff/pull/4329) - \[`ruff`] Update confusable character mapping by [@​akx](https://github.com/akx) in [https://github.com/charliermarsh/ruff/pull/4274](https://github.com/charliermarsh/ruff/pull/4274) ##### Settings - Add .git-rewrite folder to default ignored folder paths by [@​jleclanche](https://github.com/jleclanche) in [https://github.com/charliermarsh/ruff/pull/4261](https://github.com/charliermarsh/ruff/pull/4261) - Feat: detect changes also in configuration files by [@​mikeleppane](https://github.com/mikeleppane) in [https://github.com/charliermarsh/ruff/pull/4169](https://github.com/charliermarsh/ruff/pull/4169) ##### Bug Fixes - Revert the B027 autofix logic by [@​aacunningham](https://github.com/aacunningham) in [https://github.com/charliermarsh/ruff/pull/4310](https://github.com/charliermarsh/ruff/pull/4310) - Consider Flask app logger as logger candidate by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4253](https://github.com/charliermarsh/ruff/pull/4253) - Enforce max-doc-length for multi-line docstrings by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4347](https://github.com/charliermarsh/ruff/pull/4347) - Avoid re-using imports beyond current edit site by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4378](https://github.com/charliermarsh/ruff/pull/4378) - Respect insertion location when importing symbols by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4258](https://github.com/charliermarsh/ruff/pull/4258) - Fix jemalloc page size on aarch64 by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/charliermarsh/ruff/pull/4247](https://github.com/charliermarsh/ruff/pull/4247) - Fix replace_whitespace() tabulation to space by [@​JonathanPlasse](https://github.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4226](https://github.com/charliermarsh/ruff/pull/4226) - Avoid fixing `PD002` in a lambda expression by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4286](https://github.com/charliermarsh/ruff/pull/4286) - Avoid `D403` if first char cannot be uppercased by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4283](https://github.com/charliermarsh/ruff/pull/4283) - Avoid panics for f-string rewrites at start-of-file by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4291](https://github.com/charliermarsh/ruff/pull/4291) - Rewrite `not not a` as `bool(a)` in boolean contexts by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4294](https://github.com/charliermarsh/ruff/pull/4294) - Include static and class methods in in abstract decorator list by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4298](https://github.com/charliermarsh/ruff/pull/4298) - Specify exact command in incorrect parentheses suggestion by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4300](https://github.com/charliermarsh/ruff/pull/4300) - Ignore `TRY301` exceptions without except handlers by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4301](https://github.com/charliermarsh/ruff/pull/4301) - Preserve whitespace around `ListComp` brackets in `C419` by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4099](https://github.com/charliermarsh/ruff/pull/4099) - Tweak capitalization of B021 message by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4350](https://github.com/charliermarsh/ruff/pull/4350) - Avoid debug panic with empty indent replacement by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4364](https://github.com/charliermarsh/ruff/pull/4364) - Use target name in hardcoded-password diagnostics by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4365](https://github.com/charliermarsh/ruff/pull/4365) - Avoid underflow in expected-special-method-signature by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4377](https://github.com/charliermarsh/ruff/pull/4377) - Respect `__all__` imports when determining definition visibility by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4357](https://github.com/charliermarsh/ruff/pull/4357) - Ignore some methods on list in `flake8-boolean-trap` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4385](https://github.com/charliermarsh/ruff/pull/4385) - Fix false positives in PD002 by [@​evanrittenhouse](https://github.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/4337](https://github.com/charliermarsh/ruff/pull/4337) - Run autofix on initial watcher pass by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4311](https://github.com/charliermarsh/ruff/pull/4311) - Avoid SIM105 autofixes that would remove comments by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4330](https://github.com/charliermarsh/ruff/pull/4330) - Handle `.encode` calls on parenthesized expressions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4338](https://github.com/charliermarsh/ruff/pull/4338) - Truncate `SyntaxError`s before newline character by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/charliermarsh/ruff/pull/4124](https://github.com/charliermarsh/ruff/pull/4124) - Use non-empty ranges for logical-lines diagnostics by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/charliermarsh/ruff/pull/4133](https://github.com/charliermarsh/ruff/pull/4133) #### New Contributors - [@​jleclanche](https://github.com/jleclanche) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4261](https://github.com/charliermarsh/ruff/pull/4261) - [@​aureliojargas](https://github.com/aureliojargas) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4306](https://github.com/charliermarsh/ruff/pull/4306) - [@​intgr](https://github.com/intgr) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4304](https://github.com/charliermarsh/ruff/pull/4304) - [@​mikeleppane](https://github.com/mikeleppane) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4169](https://github.com/charliermarsh/ruff/pull/4169) - [@​dependabot](https://github.com/dependabot) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4354](https://github.com/charliermarsh/ruff/pull/4354) **Full Changelog**: astral-sh/ruff@v0.0.265...v0.0.266 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/allenporter/flux-local). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS43OS4xIiwidXBkYXRlZEluVmVyIjoiMzUuNzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> 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://github.com/charliermarsh/ruff) ([changelog](https://github.com/charliermarsh/ruff/releases)) | `==0.0.265` -> `==0.0.267` | [![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/compatibility-slim/0.0.265)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.267/confidence-slim/0.0.265)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>charliermarsh/ruff</summary> ### [`v0.0.267`](https://github.com/charliermarsh/ruff/releases/tag/v0.0.267) [Compare Source](https://github.com/charliermarsh/ruff/compare/v0.0.266...v0.0.267) <!-- Release notes generated using configuration in .github/release.yml at main --> #### Summary Follow-up release to v0.0.266 to fix an issue with `python -m ruff`- and `import ruff`-based workflows. (No new rules or functionality.) #### What's Changed ##### Rules - Implement `RUF010` to detect explicit type conversions within f-strings by [@​LotemAm](https://github.com/LotemAm) in [https://github.com/charliermarsh/ruff/pull/4387](https://github.com/charliermarsh/ruff/pull/4387) ##### Other Changes - Workaround for maturin bug by [@​konstin](https://github.com/konstin) in [https://github.com/charliermarsh/ruff/pull/4399](https://github.com/charliermarsh/ruff/pull/4399) #### New Contributors - [@​OMEGARAZER](https://github.com/OMEGARAZER) made their first contribution in [https://github.com/charliermarsh/ruff/pull/3938](https://github.com/charliermarsh/ruff/pull/3938) - [@​LotemAm](https://github.com/LotemAm) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4387](https://github.com/charliermarsh/ruff/pull/4387) **Full Changelog**: astral-sh/ruff@v0.0.266...v0.0.267 ### [`v0.0.266`](https://github.com/charliermarsh/ruff/releases/tag/v0.0.266) [Compare Source](https://github.com/charliermarsh/ruff/compare/v0.0.265...v0.0.266) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### Breaking Changes - Remove deprecated `update-check` setting by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4313](https://github.com/charliermarsh/ruff/pull/4313) - JSON Emitter: Use one indexed column numbers for edits by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/charliermarsh/ruff/pull/4007](https://github.com/charliermarsh/ruff/pull/4007) ##### Rules - \[`pygrep-hooks`] Implement pygrep-hook's Mock-mistake diagnostic by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4366](https://github.com/charliermarsh/ruff/pull/4366) - \[`pylint`] Implement `nested-min-max` (`W3301`) by [@​mccullocht](https://github.com/mccullocht) in [https://github.com/charliermarsh/ruff/pull/4200](https://github.com/charliermarsh/ruff/pull/4200) - \[`flynt`] Implement Flynt static string join transform as FLY002 by [@​akx](https://github.com/akx) in [https://github.com/charliermarsh/ruff/pull/4196](https://github.com/charliermarsh/ruff/pull/4196) - \[`pylint`] Include positional- and keyword-only arguments in too-many-arguments by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4329](https://github.com/charliermarsh/ruff/pull/4329) - \[`ruff`] Update confusable character mapping by [@​akx](https://github.com/akx) in [https://github.com/charliermarsh/ruff/pull/4274](https://github.com/charliermarsh/ruff/pull/4274) ##### Settings - Add .git-rewrite folder to default ignored folder paths by [@​jleclanche](https://github.com/jleclanche) in [https://github.com/charliermarsh/ruff/pull/4261](https://github.com/charliermarsh/ruff/pull/4261) - Feat: detect changes also in configuration files by [@​mikeleppane](https://github.com/mikeleppane) in [https://github.com/charliermarsh/ruff/pull/4169](https://github.com/charliermarsh/ruff/pull/4169) ##### Bug Fixes - Revert the B027 autofix logic by [@​aacunningham](https://github.com/aacunningham) in [https://github.com/charliermarsh/ruff/pull/4310](https://github.com/charliermarsh/ruff/pull/4310) - Consider Flask app logger as logger candidate by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4253](https://github.com/charliermarsh/ruff/pull/4253) - Enforce max-doc-length for multi-line docstrings by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4347](https://github.com/charliermarsh/ruff/pull/4347) - Avoid re-using imports beyond current edit site by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4378](https://github.com/charliermarsh/ruff/pull/4378) - Respect insertion location when importing symbols by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4258](https://github.com/charliermarsh/ruff/pull/4258) - Fix jemalloc page size on aarch64 by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/charliermarsh/ruff/pull/4247](https://github.com/charliermarsh/ruff/pull/4247) - Fix replace_whitespace() tabulation to space by [@​JonathanPlasse](https://github.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4226](https://github.com/charliermarsh/ruff/pull/4226) - Avoid fixing `PD002` in a lambda expression by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4286](https://github.com/charliermarsh/ruff/pull/4286) - Avoid `D403` if first char cannot be uppercased by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4283](https://github.com/charliermarsh/ruff/pull/4283) - Avoid panics for f-string rewrites at start-of-file by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4291](https://github.com/charliermarsh/ruff/pull/4291) - Rewrite `not not a` as `bool(a)` in boolean contexts by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4294](https://github.com/charliermarsh/ruff/pull/4294) - Include static and class methods in in abstract decorator list by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4298](https://github.com/charliermarsh/ruff/pull/4298) - Specify exact command in incorrect parentheses suggestion by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4300](https://github.com/charliermarsh/ruff/pull/4300) - Ignore `TRY301` exceptions without except handlers by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4301](https://github.com/charliermarsh/ruff/pull/4301) - Preserve whitespace around `ListComp` brackets in `C419` by [@​dhruvmanila](https://github.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4099](https://github.com/charliermarsh/ruff/pull/4099) - Tweak capitalization of B021 message by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4350](https://github.com/charliermarsh/ruff/pull/4350) - Avoid debug panic with empty indent replacement by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4364](https://github.com/charliermarsh/ruff/pull/4364) - Use target name in hardcoded-password diagnostics by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4365](https://github.com/charliermarsh/ruff/pull/4365) - Avoid underflow in expected-special-method-signature by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4377](https://github.com/charliermarsh/ruff/pull/4377) - Respect `__all__` imports when determining definition visibility by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4357](https://github.com/charliermarsh/ruff/pull/4357) - Ignore some methods on list in `flake8-boolean-trap` by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4385](https://github.com/charliermarsh/ruff/pull/4385) - Fix false positives in PD002 by [@​evanrittenhouse](https://github.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/4337](https://github.com/charliermarsh/ruff/pull/4337) - Run autofix on initial watcher pass by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4311](https://github.com/charliermarsh/ruff/pull/4311) - Avoid SIM105 autofixes that would remove comments by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4330](https://github.com/charliermarsh/ruff/pull/4330) - Handle `.encode` calls on parenthesized expressions by [@​charliermarsh](https://github.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4338](https://github.com/charliermarsh/ruff/pull/4338) - Truncate `SyntaxError`s before newline character by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/charliermarsh/ruff/pull/4124](https://github.com/charliermarsh/ruff/pull/4124) - Use non-empty ranges for logical-lines diagnostics by [@​MichaReiser](https://github.com/MichaReiser) in [https://github.com/charliermarsh/ruff/pull/4133](https://github.com/charliermarsh/ruff/pull/4133) #### New Contributors - [@​jleclanche](https://github.com/jleclanche) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4261](https://github.com/charliermarsh/ruff/pull/4261) - [@​aureliojargas](https://github.com/aureliojargas) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4306](https://github.com/charliermarsh/ruff/pull/4306) - [@​intgr](https://github.com/intgr) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4304](https://github.com/charliermarsh/ruff/pull/4304) - [@​mikeleppane](https://github.com/mikeleppane) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4169](https://github.com/charliermarsh/ruff/pull/4169) - [@​dependabot](https://github.com/dependabot) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4354](https://github.com/charliermarsh/ruff/pull/4354) **Full Changelog**: astral-sh/ruff@v0.0.265...v0.0.266 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/allenporter/pyrainbird). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS43OS4xIiwidXBkYXRlZEluVmVyIjoiMzUuNzkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
fixes: #4280