⬆️ Update dependency ruff to v0.9.1#1618
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the Note Free review on us!CodeRabbit is offering free reviews until Wed Jan 15 2025 to showcase some of the refinements we've made. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
8a2db3b to
9b43146
Compare
|



This PR contains the following updates:
0.8.6->0.9.1Release Notes
astral-sh/ruff (ruff)
v0.9.1Compare Source
Preview features
pycodestyle] Runtoo-many-newlines-at-end-of-fileon each cell in notebooks (W391) (#15308)ruff] Omit diagnostic for shadowed private function parameters inused-dummy-variable(RUF052) (#15376)Rule changes
flake8-bugbear] Improveassert-raises-exceptionmessage (B017) (#15389)Formatter
Server
Bug fixes
flake8-pie] Correctly remove wrapping parentheses (PIE800) (#15394)pyupgrade] Handle comments and multiline expressions correctly (UP037) (#15337)v0.9.0Compare Source
Check out the blog post for a migration guide and overview of the changes!
Breaking changes
Ruff now formats your code according to the 2025 style guide. As a result, your code might now get formatted differently. See the formatter section for a detailed list of changes.
This release doesn’t remove or remap any existing stable rules.
Stabilization
The following rules have been stabilized and are no longer in preview:
stdlib-module-shadowing(A005).This rule has also been renamed: previously, it was called
builtin-module-shadowing.builtin-lambda-argument-shadowing(A006)slice-to-remove-prefix-or-suffix(FURB188)boolean-chained-comparison(PLR1716)decimal-from-float-literal(RUF032)post-init-default(RUF033)useless-if-else(RUF034)The following behaviors have been stabilized:
pytest-parametrize-names-wrong-type(PT006): Detectpytest.parametrizecalls outside decorators and calls with keyword arguments.module-import-not-at-top-of-file(E402): Ignorepytest.importorskipcalls between import statements.mutable-dataclass-default(RUF008) andfunction-call-in-dataclass-default-argument(RUF009): Add support forattrs.bad-version-info-comparison(PYI006): Extend the rule to check non-stub files.The following fixes or improvements to fixes have been stabilized:
redundant-numeric-union(PYI041)duplicate-union-members(PYI016)Formatter
This release introduces the new 2025 stable style (#13371), stabilizing the following changes:
ISC001incompatibility warning (#15123)assertmessage over breaking the assertion expression (#9457)ifguards inmatchcaseclauses (#13513)matchcasepatterns (#6933)ifkeyword for comprehensions where the condition has a leading comment (#12282)withstatements with a single context manager for Python 3.8 or older (#10276)max-doc-code-line-length = "dynamic"(#13523)Preview features
flake8-bugbear] Implementclass-as-data-structure(B903) (#9601)flake8-type-checking] Applyquoted-type-aliasmore eagerly inTYPE_CHECKINGblocks and ignore it in stubs (TC008) (#15180)pylint] Ignoreeq-without-hashin stub files (PLW1641) (#15310)pyupgrade] SplitUP007into two individual rules:UP007forUnionandUP045forOptional(UP007,UP045) (#15313)ruff] New rule that detects classes that are both an enum and adataclass(RUF049) (#15299)ruff] RecodeRUF025toRUF037(RUF037) (#15258)Rule changes
flake8-builtins] Ignorestdlib-module-shadowingin stub files(A005) (#15350)flake8-return] Add support for functions returningtyping.Never(RET503) (#15298)Server
logLevelserver settingwhich defaults to
info. This addresses the issue where users were notified about an error and told to consult the log, but it didn’t contain any messages. (#15232)CLI
--config key=valuewhen thekeyis for a table and it’s a simplevalueBug fixes
eradicate] Ignore metadata blocks directly followed by normal blocks (ERA001) (#15330)flake8-django] Recognize other magic methods (DJ012) (#15365)pycodestyle] Avoid false positives related to type aliases (E252) (#15356)pydocstyle] Avoid treating newline-separated sections as sub-sections (D405) (#15311)pyflakes] Remove call when removing final argument fromformat(F523) (#15309)refurb] Mark fix as unsafe when the right-hand side is a string (FURB171) (#15273)ruff] Treat)as a regex metacharacter (RUF043,RUF055) (#15318)ruff] Parenthesize theint-call argument when removing theintcall would change semantics (RUF046) (#15277)Configuration
📅 Schedule: Branch creation - "before 2am" (UTC), 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.
This PR was generated by Mend Renovate. View the repository job log.