chore(deps): update dependency ruff to ^0.7.0 #61
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.5.0->^0.7.0Release Notes
astral-sh/ruff (ruff)
v0.7.0Check out the blog post for a migration guide and overview of the changes!
Breaking changes
PT001andPT023now default to omitting the decorator parentheses when there are no arguments(#12838, #13292).
This was a change that we attempted to make in Ruff v0.6.0, but only partially made due to an error on our part.
See the blog post for more details.
useless-try-exceptrule (in ourtryceratopscategory) has been recoded fromTRY302toTRY203(#13502). This ensures Ruff's code is consistent withthe same rule in the
tryceratopslinter.lint.allow-unused-importssetting has been removed (#13677). Uselint.pyflakes.allow-unused-importsinstead.
Formatter preview style
Preview linter features
refurb] implementhardcoded-string-charset(FURB156) (#13530)refurb] Count codepoints not bytes forslice-to-remove-prefix-or-suffix (FURB188)(#13631)Rule changes
pylint] MarkPLE1141fix as unsafe (#13629)flake8-async] Consider async generators to be "checkpoints" forcancel-scope-no-checkpoint(ASYNC100) (#13639)flake8-bugbear] Do not suggest setting parameterstrict=toFalseinB905diagnostic message (#13656)flake8-todos] Only flag the word "TODO", not words starting with "todo" (TD006) (#13640)pycodestyle] Fix whitespace-related false positives and false negatives inside type-parameter lists (E231,E251) (#13704)flake8-simplify] Stabilize preview behavior forSIM115so that the rule can detect filesbeing opened from a wider range of standard-library functions (#12959).
CLI
--statisticscommand (#13774)Bug fixes
pyflakes] Allowipytestcell magic (F401) (#13745)flake8-use-pathlib] FixPTH123false positive whenopenis passed a file descriptor (#13616)flake8-bandit] Detect patterns from multi line SQL statements (S608) (#13574)flake8-pyi] - Fix dropped expressions inPYI030autofix (#13727)v0.6.9Compare Source
Preview features
refurb] MarkFURB118fix as unsafe (#13613)Rule changes
pydocstyle] Don't raiseD208when last line is non-empty (#13372)pylint] Preserve trivia (i.e. comments) inPLR5501autofix (#13573)Configuration
pyflakes] Addallow-unused-importssetting forunused-importrule (F401) (#13601)Bug fixes
flake8-bugbear] Avoid short circuitingB017for multiple context managers (#13609)pylint] Do not offer an invalid fix forPLR1716when the comparisons contain parenthesis (#13527)pyupgrade] FixUP043to apply tocollections.abc.Generatorandcollections.abc.AsyncGenerator(#13611)refurb] Fix handling of slices in tuples forFURB118, e.g.,x[:, 1](#13518)Documentation
astral-sh/ruff-action(#13551)v0.6.8Compare Source
Preview features
match caseclauses (#13510)ifguards inmatch..caseclauses (#13513)ruff analyze graph(#13486)pylint] Implementboolean-chained-comparison(R1716) (#13435)Rule changes
lake8-simplify] DetectSIM910when using variadic keyword arguments, i.e.,**kwargs(#13503)pyupgrade] Avoid false negatives with non-reference shadowed bindings of loop variables (UP028) (#13504)Bug fixes
*args(#13512)Performance
BTreeSetsin module resolver (#13440)v0.6.7Compare Source
Preview features
excludesupport toruff analyze(#13425)Rule changes
pycodestyle] Fix: Don't autofix if the first line ends in a question mark? (D400) (#13399)Bug fixes
lint.excludein ruff check--add-noqa(#13427)Performance
forgetfor module resolver database (#13438)v0.6.6Compare Source
Preview features
refurb] Skipslice-to-remove-prefix-or-suffix(FURB188) when non-trivial slice steps are present (#13405)Formatter
Server
LineIndex::offsetcalculation (#13407)Bug fixes
fastapi] Respect FastAPI aliases in route definitions (#13394)pydocstyle] Respect word boundaries when detecting function signature in docs (#13388)Documentation
FURB188docs (#13406)v0.6.5Compare Source
Preview features
pydoclint] IgnoreDOC201when function name is "new" (#13300)refurb] Implementslice-to-remove-prefix-or-suffix(FURB188) (#13256)Rule changes
eradicate] Ignore script-comments with multiple end-tags (ERA001) (#13283)pyflakes] Improve error message forUndefinedNamewhen a builtin was added in a newer version than specified in Ruff config (F821) (#13293)Server
Bug fixes
ruff] Handle unary operators indecimal-from-float-literal(RUF032) (#13275)CLI
Playground
v0.6.4Compare Source
Preview features
flake8-builtins] Use dynamic builtins list based on Python version (#13172)pydoclint] Permit yieldingNoneinDOC402andDOC403(#13148)pylint] Update diagnostic message forPLW3201(#13194)ruff] Implementpost-init-default(RUF033) (#13192)ruff] Implement useless if-else (RUF034) (#13218)Rule changes
flake8-pyi] Respectpep8_naming.classmethod-decoratorssettings when determining if a method is a classmethod incustom-type-var-return-type(PYI019) (#13162)flake8-pyi] Teach various rules that annotations might be stringized (#12951)pylint] Avoidno-self-useforattrs-style validators (#13166)pylint] Recurse into subscript subexpressions when searching for list/dict lookups (PLR1733,PLR1736) (#13186)pyupgrade] Detectaiofiles.opencalls inUP015(#13173)pyupgrade] Marksys.version_info[0] < 3and similar comparisons as outdated (UP036) (#13175)CLI
ruff formatoutput (#13212)Bug fixes
pydocstyle] Improve heuristics for detecting Google-style docstrings (#13142)refurb] Treatseparguments with effects as unsafe removals (FURB105) (#13165)v0.6.3Compare Source
Preview features
flake8-simplify] Extendopen-file-with-context-handlerto work withdbm.sqlite3(SIM115) (#13104)pycodestyle] DisableE741in stub files (.pyi) (#13119)pydoclint] AvoidDOC201on explicit returns in functions that only returnNone(#13064)Rule changes
flake8-async] Disable check forasynciobefore Python 3.11 (ASYNC109) (#13023)Bug fixes
FastAPI] Avoid introducing invalid syntax in fix forfast-api-non-annotated-dependency(FAST002) (#13133)flake8-implicit-str-concat] Normalize octals before merging concatenated strings insingle-line-implicit-string-concatenation(ISC001) (#13118)flake8-pytest-style] Improve help message forpytest-incorrect-mark-parentheses-style(PT023) (#13092)pylint] Avoid autofix for calls that aren'tminormaxas starred expression (PLW3301) (#13089)ruff] Adddatetime.time,datetime.tzinfo, anddatetime.timezoneas immutable function calls (RUF009) (#13109)ruff] Extend comment deletion forRUF100to include trailing text fromnoqadirectives while preserving any following comments on the same line, if any (#13105)v0.6.2Compare Source
Preview features
flake8-simplify] Extendopen-file-with-context-handlerto work with other standard-library IO modules (SIM115) (#12959)ruff] Avoidunused-asyncfor functions with FastAPI route decorator (RUF029) (#12938)ruff] Ignorefstring-missing-syntax(RUF027) forfastAPIpaths (#12939)ruff] Implement check for Decimal called with a float literal (RUF032) (#12909)Rule changes
flake8-bugbear] Update diagnostic message when expression is at the end of function (B015) (#12944)flake8-pyi] Skip type annotations instring-or-bytes-too-long(PYI053) (#13002)flake8-type-checking] Always recognise relative imports as first-party (#12994)flake8-unused-arguments] Ignore unused arguments on stub functions (ARG001) (#12966)pylint] Ignore augmented assignment forself-cls-assignment(PLW0642) (#12957)Server
Bug fixes
pep8-naming] Don't flagfromimports following conventional import names (N817) (#12946)pylint] - Allow__new__methods to haveclsas their first argument even if decorated with@staticmethodforbad-staticmethod-argument(PLW0211) (#12958)Documentation
hyperfineinstallation instructions; updatehyperfinecode samples (#13034)PT001as per the new default behavior (#13019)perflint] Improve docs fortry-except-in-loop(PERF203) (#12947)pydocstyle] Add reference tolint.pydocstyle.ignore-decoratorssetting to rule docs (#12996)v0.6.1Compare Source
This is a hotfix release to address an issue with
ruff-pre-commit. In v0.6,Ruff changed its behavior to lint and format Jupyter notebooks by default;
however, due to an oversight, these files were still excluded by default if
Ruff was run via pre-commit, leading to inconsistent behavior.
This has now been fixed.
Preview features
fastapi] Implementfast-api-unused-path-parameter(FAST003) (#12638)Rule changes
pylint] Renametoo-many-positionaltotoo-many-positional-arguments(R0917) (#12905)Server
Other changes
flake8-naming]: Respect import conventions (N817) (#12922)v0.6.0Compare Source
Check out the blog post for a migration guide and overview of the changes!
Breaking changes
See also, the "Remapped rules" section which may result in disabled rules.
srclayouts by default forisortrules (#12848)PT001andPT023now default to omitting the decorator parentheses when there are no arguments (#12838).Deprecations
The following rules are now deprecated:
pytest-missing-fixture-name-underscore(PT004)pytest-incorrect-fixture-name-underscore(PT005)unpacked-list-comprehension(UP027)Remapped rules
The following rules have been remapped to new rule codes:
unnecessary-dict-comprehension-for-iterable:RUF025toC420Stabilization
The following rules have been stabilized and are no longer in preview:
singledispatch-method(PLE1519)singledispatchmethod-function(PLE1520)bad-staticmethod-argument(PLW0211)if-stmt-min-max(PLR1730)invalid-bytes-return-type(PLE0308)invalid-hash-return-type(PLE0309)invalid-index-return-type(PLE0305)invalid-length-return-type(E303)self-or-cls-assignment(PLW0642)byte-string-usage(PYI057)duplicate-literal-member(PYI062)redirected-noqa(RUF101)The following behaviors have been stabilized:
cancel-scope-no-checkpoint(ASYNC100): Supportasyncioandanyiocontext mangers.async-function-with-timeout(ASYNC109): Supportasyncioandanyiocontext mangers.async-busy-wait(ASYNC110): Supportasyncioandanyiocontext mangers.async-zero-sleep(ASYNC115): Supportanyiocontext mangers.long-sleep-not-forever(ASYNC116): Supportanyiocontext mangers.The following fixes have been stabilized:
superfluous-else-return(RET505)superfluous-else-raise(RET506)superfluous-else-continue(RET507)superfluous-else-break(RET508)Preview features
flake8-simplify] Further simplify to binary in preview for (SIM108) (#12796)pyupgrade] Show violations without auto-fix (UP031) (#11229)Rule changes
flake8-import-conventions] Addxml.etree.ElementTreeto default conventions (#12455)flake8-pytest-style] Add a space after comma in CSV output (PT006) (#12853)Server
Bug fixes
flake8-async] Do not lint yield in context manager (ASYNC100) (#12896)flake8-comprehensions] Do not lintasync forcomprehensions (C419) (#12895)flake8-return] Only add returnNoneat end of a function (RET503) (#11074)flake8-type-checking] Avoid treatingdataclasses.KW_ONLYas typing-only (TCH003) (#12863)pep8-naming] Treattype(Protocol)et al as metaclass base (N805) (#12770)pydoclint] Don't enforce returns and yields in abstract methods (DOC201,DOC202) (#12771)ruff] Skip tuples with slice expressions in (RUF031) (#12768)ruff] Ignore unparenthesized tuples in subscripts when the subscript is a type annotation or type alias (RUF031) (#12762)ruff] Ignore template strings passed to logging andbuiltins._()calls (RUF027) (#12889)ruff] Do not remove parens for tuples with starred expressions in Python <=3.10 (RUF031) (#12784)Other changes
kernelspecnotebook metadata when detecting the preferred language for a Jupyter Notebook (#12875)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 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.