chore(deps): update dependency ruff to v0.4.1 #56
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==0.3.5->==0.4.1Release Notes
astral-sh/ruff (ruff)
v0.4.1Compare Source
Preview features
pylint] Implementinvalid-hash-returned(PLE0309) (#10961)pylint] Implementinvalid-index-returned(PLE0305) (#10962)Bug fixes
pylint] AllowNoReturn-like functions for__str__,__len__, etc. (PLE0307) (#11017)ruff] Ignore stub functions inunused-async(RUF029) (#11026)v0.4.0Compare Source
A new, hand-written parser
Ruff's new parser is >2x faster, which translates to a 20-40% speedup for all linting and formatting invocations.
There's a lot to say about this exciting change, so check out the blog post for more details!
See #10036 for implementation details.
A new language server in Rust
With this release, we also want to highlight our new language server.
ruff serveris a Rust-powered languageserver that comes built-in with Ruff. It can be used with any editor that supports the Language Server Protocol (LSP).
It uses a multi-threaded, lock-free architecture inspired by
rust-analyzerand it will open the door for a lotof exciting features. It’s also faster than our previous Python-based language server
-- but you probably guessed that already.
ruff serveris only in alpha, but it has a lot of features that you can try out today:ruff.applyAutofix,ruff.applyFormat, andruff.applyOrganizeImportssource.fixAllandsource.organizeImportssource actionsTo setup
ruff serverwith your editor, refer to the README.md.Preview features
pycodestyle] Do not triggerE3rules ondefs following a function/method with a dummy body (#10704)pylint] Implementinvalid-bytes-returned(E0308) (#10959)pylint] Implementinvalid-length-returned(E0303) (#10963)pylint] Implementself-cls-assignment(W0642) (#9267)pylint] Omit stubs frominvalid-boolandinvalid-str-return-type(#11008)ruff] New ruleunused-async(RUF029) to detect unneededasynckeywords on functions (#9966)Rule changes
flake8-bandit] Allowurllib.request.urlopencalls with staticRequestargument (S310) (#10964)flake8-bugbear] Treatraise NotImplemented-only bodies as stub functions (B006) (#10990)flake8-slots] Respect same-fileEnumsubclasses (SLOT000) (#11006)pylint] Support inverted comparisons (PLR1730) (#10920)Linter
--show-settings(#11003)BuiltinTypeChecker(#10976)RuleTable::any_enabled(#10971)Server
This section is devoted to updates for our new language server, written in Rust.
Configuration
RUFF_OUTPUT_FILEenvironment variable support (#10992)Bug fixes
non-augmented-assignmentfor reversed, non-commutative operators (PLR6104) (#10909)PLR6104) (#10912)per-file-ignoresforRUF100on blanket# noqa(#10908)ifexpression for parenthesized with items parsing (#11010)FOR_TARGETcontext for all kinds of parentheses (#11009)v0.3.7Compare Source
Preview features
flake8-bugbear] Implementloop-iterator-mutation(B909) (#9578)pylint] Implement rule to prefer augmented assignment (PLR6104) (#9932)Bug fixes
pylint] Recodenan-comparisonrule toW0177(#10894)pylint] Reverse min-max logic inif-stmt-min-max(#10890)v0.3.6Compare Source
Preview features
pylint] Implementbad-staticmethod-argument(PLW0211) (#10781)pylint] Implementif-stmt-min-max(PLR1730,PLR1731) (#10002)pyupgrade] Replacestr,Enummultiple inheritance withStrEnumUP042(#10713)refurb] Implementif-expr-instead-of-or-operator(FURB110) (#10687)refurb] Implementint-on-sliced-str(FURB166) (#10650)refurb] Implementwrite-whole-file(FURB103) (#10802)refurb] Supportitemgetterinreimplemented-operator(FURB118) (#10526)flake8_comprehensions] Addsum/min/maxto unnecessary comprehension check (C419) (#10759)Rule changes
pydocstyle] Require capitalizing docstrings where the first sentence is a single word (D403) (#10776)pycodestyle] Ignore annotated lambdas in class scopes (E731) (#10720)flake8-pyi] Various improvements to PYI034 (#10807)flake8-slots] Flag subclasses of call-basedtyping.NamedTuples as well as subclasses ofcollections.namedtuple()(SLOT002) (#10808)pyflakes] Allow forward references in class bases in stub files (F821) (#10779)pygrep-hooks] Improveblanket-noqaerror message (PGH004) (#10851)CLI
FORCE_COLORenv var (#10839)Configuration
[extend-]per-file-ignores(#10852)Bug fixes
flake8-import-conventions] Accept non-aliased (but correct) import inunconventional-import-alias(ICN001) (#10729)flake8-quotes] Add semantic model flag when inside f-string replacement field (#10766)pep8-naming] Recursively resolveTypeDictsfor N815 violations (#10719)flake8-quotes] RespectQ00*ignores inflake8-quotesrules (#10728)flake8-simplify] Show negated condition inneedless-booldiagnostics (SIM103) (#10854)ruff] Use within-scope shadowed bindings inasyncio-dangling-task(RUF006) (#10793)flake8-pytest-style] Fix single-tuple conversion inpytest-parametrize-values-wrong-type(PT007) (#10862)flake8-return] Ignore assignments to annotated variables inunnecessary-assign(RET504) (#10741)refurb] Do not allow any keyword arguments forread-whole-fileinrbmode (FURB101) (#10803)pylint] Don't recommend decorating staticmethods with@singledispatch(PLE1519,PLE1520) (#10637)pydocstyle] Use section name range for all section-related docstring diagnostics (#10740)# noqadirectives on__all__openers (#10798)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.