spiraldb / ziggy-pydust

A toolkit for building Python extensions in Zig.
https://pydust.fulcrum.so/
Apache License 2.0
380 stars 16 forks source link

Update dependency ruff to ^0.4.0 #335

Closed renovate[bot] closed 4 months ago

renovate[bot] commented 4 months ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
ruff (source, changelog) ^0.3.0 -> ^0.4.0 age adoption passing confidence

Release Notes

astral-sh/ruff (ruff) ### [`v0.4.0`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#040) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.3.7...v0.4.0) ##### 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](https://astral.sh/blog/ruff-v0.4.0) for more details! See [#​10036](https://togithub.com/astral-sh/ruff/pull/10036) for implementation details. ##### A new language server in Rust With this release, we also want to highlight our new language server. `ruff server` is a Rust-powered language server that comes built-in with Ruff. It can be used with any editor that supports the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) (LSP). It uses a multi-threaded, lock-free architecture inspired by `rust-analyzer` and it will open the door for a lot of exciting features. It’s also faster than our previous [Python-based language server](https://togithub.com/astral-sh/ruff-lsp) \-- but you probably guessed that already. `ruff server` is only in alpha, but it has a lot of features that you can try out today: - Lints Python files automatically and shows quick-fixes when available - Formats Python files, with support for range formatting - Comes with commands for quickly performing actions: `ruff.applyAutofix`, `ruff.applyFormat`, and `ruff.applyOrganizeImports` - Supports `source.fixAll` and `source.organizeImports` source actions - Automatically reloads your project configuration when you change it To setup `ruff server` with your editor, refer to the [README.md](https://togithub.com/astral-sh/ruff/blob/main/crates/ruff_server/README.md). ##### Preview features - \[`pycodestyle`] Do not trigger `E3` rules on `def`s following a function/method with a dummy body ([#​10704](https://togithub.com/astral-sh/ruff/pull/10704)) - \[`pylint`] Implement `invalid-bytes-returned` (`E0308`) ([#​10959](https://togithub.com/astral-sh/ruff/pull/10959)) - \[`pylint`] Implement `invalid-length-returned` (`E0303`) ([#​10963](https://togithub.com/astral-sh/ruff/pull/10963)) - \[`pylint`] Implement `self-cls-assignment` (`W0642`) ([#​9267](https://togithub.com/astral-sh/ruff/pull/9267)) - \[`pylint`] Omit stubs from `invalid-bool` and `invalid-str-return-type` ([#​11008](https://togithub.com/astral-sh/ruff/pull/11008)) - \[`ruff`] New rule `unused-async` (`RUF029`) to detect unneeded `async` keywords on functions ([#​9966](https://togithub.com/astral-sh/ruff/pull/9966)) ##### Rule changes - \[`flake8-bandit`] Allow `urllib.request.urlopen` calls with static `Request` argument (`S310`) ([#​10964](https://togithub.com/astral-sh/ruff/pull/10964)) - \[`flake8-bugbear`] Treat `raise NotImplemented`-only bodies as stub functions (`B006`) ([#​10990](https://togithub.com/astral-sh/ruff/pull/10990)) - \[`flake8-slots`] Respect same-file `Enum` subclasses (`SLOT000`) ([#​11006](https://togithub.com/astral-sh/ruff/pull/11006)) - \[`pylint`] Support inverted comparisons (`PLR1730`) ([#​10920](https://togithub.com/astral-sh/ruff/pull/10920)) ##### Linter - Improve handling of builtin symbols in linter rules ([#​10919](https://togithub.com/astral-sh/ruff/pull/10919)) - Improve display of rules in `--show-settings` ([#​11003](https://togithub.com/astral-sh/ruff/pull/11003)) - Improve inference capabilities of the `BuiltinTypeChecker` ([#​10976](https://togithub.com/astral-sh/ruff/pull/10976)) - Resolve classes and functions relative to script name ([#​10965](https://togithub.com/astral-sh/ruff/pull/10965)) - Improve performance of `RuleTable::any_enabled` ([#​10971](https://togithub.com/astral-sh/ruff/pull/10971)) ##### Server *This section is devoted to updates for our new language server, written in Rust.* - Enable ruff-specific source actions ([#​10916](https://togithub.com/astral-sh/ruff/pull/10916)) - Refreshes diagnostics for open files when file configuration is changed ([#​10988](https://togithub.com/astral-sh/ruff/pull/10988)) - Important errors are now shown as popups ([#​10951](https://togithub.com/astral-sh/ruff/pull/10951)) - Introduce settings for directly configuring the linter and formatter ([#​10984](https://togithub.com/astral-sh/ruff/pull/10984)) - Resolve configuration for each document individually ([#​10950](https://togithub.com/astral-sh/ruff/pull/10950)) - Write a setup guide for Neovim ([#​10987](https://togithub.com/astral-sh/ruff/pull/10987)) ##### Configuration - Add `RUFF_OUTPUT_FILE` environment variable support ([#​10992](https://togithub.com/astral-sh/ruff/pull/10992)) ##### Bug fixes - Avoid `non-augmented-assignment` for reversed, non-commutative operators (`PLR6104`) ([#​10909](https://togithub.com/astral-sh/ruff/pull/10909)) - Limit commutative non-augmented-assignments to primitive data types (`PLR6104`) ([#​10912](https://togithub.com/astral-sh/ruff/pull/10912)) - Respect `per-file-ignores` for `RUF100` on blanket `# noqa` ([#​10908](https://togithub.com/astral-sh/ruff/pull/10908)) - Consider `if` expression for parenthesized with items parsing ([#​11010](https://togithub.com/astral-sh/ruff/pull/11010)) - Consider binary expr for parenthesized with items parsing ([#​11012](https://togithub.com/astral-sh/ruff/pull/11012)) - Reset `FOR_TARGET` context for all kinds of parentheses ([#​11009](https://togithub.com/astral-sh/ruff/pull/11009)) ### [`v0.3.7`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#037) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.3.6...v0.3.7) ##### Preview features - \[`flake8-bugbear`] Implement `loop-iterator-mutation` (`B909`) ([#​9578](https://togithub.com/astral-sh/ruff/pull/9578)) - \[`pylint`] Implement rule to prefer augmented assignment (`PLR6104`) ([#​9932](https://togithub.com/astral-sh/ruff/pull/9932)) ##### Bug fixes - Avoid TOCTOU errors in cache initialization ([#​10884](https://togithub.com/astral-sh/ruff/pull/10884)) - \[`pylint`] Recode `nan-comparison` rule to `W0177` ([#​10894](https://togithub.com/astral-sh/ruff/pull/10894)) - \[`pylint`] Reverse min-max logic in `if-stmt-min-max` ([#​10890](https://togithub.com/astral-sh/ruff/pull/10890)) ### [`v0.3.6`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#036) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.3.5...v0.3.6) ##### Preview features - \[`pylint`] Implement `bad-staticmethod-argument` (`PLW0211`) ([#​10781](https://togithub.com/astral-sh/ruff/pull/10781)) - \[`pylint`] Implement `if-stmt-min-max` (`PLR1730`, `PLR1731`) ([#​10002](https://togithub.com/astral-sh/ruff/pull/10002)) - \[`pyupgrade`] Replace `str,Enum` multiple inheritance with `StrEnum` `UP042` ([#​10713](https://togithub.com/astral-sh/ruff/pull/10713)) - \[`refurb`] Implement `if-expr-instead-of-or-operator` (`FURB110`) ([#​10687](https://togithub.com/astral-sh/ruff/pull/10687)) - \[`refurb`] Implement `int-on-sliced-str` (`FURB166`) ([#​10650](https://togithub.com/astral-sh/ruff/pull/10650)) - \[`refurb`] Implement `write-whole-file` (`FURB103`) ([#​10802](https://togithub.com/astral-sh/ruff/pull/10802)) - \[`refurb`] Support `itemgetter` in `reimplemented-operator` (`FURB118`) ([#​10526](https://togithub.com/astral-sh/ruff/pull/10526)) - \[`flake8_comprehensions`] Add `sum`/`min`/`max` to unnecessary comprehension check (`C419`) ([#​10759](https://togithub.com/astral-sh/ruff/pull/10759)) ##### Rule changes - \[`pydocstyle`] Require capitalizing docstrings where the first sentence is a single word (`D403`) ([#​10776](https://togithub.com/astral-sh/ruff/pull/10776)) - \[`pycodestyle`] Ignore annotated lambdas in class scopes (`E731`) ([#​10720](https://togithub.com/astral-sh/ruff/pull/10720)) - \[`flake8-pyi`] Various improvements to PYI034 ([#​10807](https://togithub.com/astral-sh/ruff/pull/10807)) - \[`flake8-slots`] Flag subclasses of call-based `typing.NamedTuple`s as well as subclasses of `collections.namedtuple()` (`SLOT002`) ([#​10808](https://togithub.com/astral-sh/ruff/pull/10808)) - \[`pyflakes`] Allow forward references in class bases in stub files (`F821`) ([#​10779](https://togithub.com/astral-sh/ruff/pull/10779)) - \[`pygrep-hooks`] Improve `blanket-noqa` error message (`PGH004`) ([#​10851](https://togithub.com/astral-sh/ruff/pull/10851)) ##### CLI - Support `FORCE_COLOR` env var ([#​10839](https://togithub.com/astral-sh/ruff/pull/10839)) ##### Configuration - Support negated patterns in `[extend-]per-file-ignores` ([#​10852](https://togithub.com/astral-sh/ruff/pull/10852)) ##### Bug fixes - \[`flake8-import-conventions`] Accept non-aliased (but correct) import in `unconventional-import-alias` (`ICN001`) ([#​10729](https://togithub.com/astral-sh/ruff/pull/10729)) - \[`flake8-quotes`] Add semantic model flag when inside f-string replacement field ([#​10766](https://togithub.com/astral-sh/ruff/pull/10766)) - \[`pep8-naming`] Recursively resolve `TypeDicts` for N815 violations ([#​10719](https://togithub.com/astral-sh/ruff/pull/10719)) - \[`flake8-quotes`] Respect `Q00*` ignores in `flake8-quotes` rules ([#​10728](https://togithub.com/astral-sh/ruff/pull/10728)) - \[`flake8-simplify`] Show negated condition in `needless-bool` diagnostics (`SIM103`) ([#​10854](https://togithub.com/astral-sh/ruff/pull/10854)) - \[`ruff`] Use within-scope shadowed bindings in `asyncio-dangling-task` (`RUF006`) ([#​10793](https://togithub.com/astral-sh/ruff/pull/10793)) - \[`flake8-pytest-style`] Fix single-tuple conversion in `pytest-parametrize-values-wrong-type` (`PT007`) ([#​10862](https://togithub.com/astral-sh/ruff/pull/10862)) - \[`flake8-return`] Ignore assignments to annotated variables in `unnecessary-assign` (`RET504`) ([#​10741](https://togithub.com/astral-sh/ruff/pull/10741)) - \[`refurb`] Do not allow any keyword arguments for `read-whole-file` in `rb` mode (`FURB101`) ([#​10803](https://togithub.com/astral-sh/ruff/pull/10803)) - \[`pylint`] Don't recommend decorating staticmethods with `@singledispatch` (`PLE1519`, `PLE1520`) ([#​10637](https://togithub.com/astral-sh/ruff/pull/10637)) - \[`pydocstyle`] Use section name range for all section-related docstring diagnostics ([#​10740](https://togithub.com/astral-sh/ruff/pull/10740)) - Respect `# noqa` directives on `__all__` openers ([#​10798](https://togithub.com/astral-sh/ruff/pull/10798)) ### [`v0.3.5`](https://togithub.com/astral-sh/ruff/blob/HEAD/CHANGELOG.md#035) [Compare Source](https://togithub.com/astral-sh/ruff/compare/v0.3.4...v0.3.5) ##### Preview features - \[`pylint`] Implement `modified-iterating-set` (`E4703`) ([#​10473](https://togithub.com/astral-sh/ruff/pull/10473)) - \[`refurb`] Implement `for-loop-set-mutations` (`FURB142`) ([#​10583](https://togithub.com/astral-sh/ruff/pull/10583)) - \[`refurb`] Implement `unnecessary-from-float` (`FURB164`) ([#​10647](https://togithub.com/astral-sh/ruff/pull/10647)) - \[`refurb`] Implement `verbose-decimal-constructor` (`FURB157`) ([#​10533](https://togithub.com/astral-sh/ruff/pull/10533)) ##### Rule changes - \[`flake8-comprehensions`] Handled special case for `C401` which also matches `C416` ([#​10596](https://togithub.com/astral-sh/ruff/pull/10596)) - \[`flake8-pyi`] Mark `unaliased-collections-abc-set-import` fix as "safe" for more cases in stub files (`PYI025`) ([#​10547](https://togithub.com/astral-sh/ruff/pull/10547)) - \[`numpy`] Add `row_stack` to NumPy 2.0 migration rule ([#​10646](https://togithub.com/astral-sh/ruff/pull/10646)) - \[`pycodestyle`] Allow cell magics before an import (`E402`) ([#​10545](https://togithub.com/astral-sh/ruff/pull/10545)) - \[`pycodestyle`] Avoid blank line rules for the first logical line in cell ([#​10291](https://togithub.com/astral-sh/ruff/pull/10291)) ##### Configuration - Respected nested namespace packages ([#​10541](https://togithub.com/astral-sh/ruff/pull/10541)) - \[`flake8-boolean-trap`] Add setting for user defined allowed boolean trap ([#​10531](https://togithub.com/astral-sh/ruff/pull/10531)) ##### Bug fixes - Correctly handle references in `__all__` definitions when renaming symbols in autofixes ([#​10527](https://togithub.com/astral-sh/ruff/pull/10527)) - Track ranges of names inside `__all__` definitions ([#​10525](https://togithub.com/astral-sh/ruff/pull/10525)) - \[`flake8-bugbear`] Avoid false positive for usage after `continue` (`B031`) ([#​10539](https://togithub.com/astral-sh/ruff/pull/10539)) - \[`flake8-copyright`] Accept commas in default copyright pattern ([#​9498](https://togithub.com/astral-sh/ruff/pull/9498)) - \[`flake8-datetimez`] Allow f-strings with `%z` for `DTZ007` ([#​10651](https://togithub.com/astral-sh/ruff/pull/10651)) - \[`flake8-pytest-style`] Fix `PT014` autofix for last item in list ([#​10532](https://togithub.com/astral-sh/ruff/pull/10532)) - \[`flake8-quotes`] Ignore `Q000`, `Q001` when string is inside forward ref ([#​10585](https://togithub.com/astral-sh/ruff/pull/10585)) - \[`isort`] Always place non-relative imports after relative imports ([#​10669](https://togithub.com/astral-sh/ruff/pull/10669)) - \[`isort`] Respect Unicode characters in import sorting ([#​10529](https://togithub.com/astral-sh/ruff/pull/10529)) - \[`pyflakes`] Fix F821 false negatives when `from __future__ import annotations` is active (attempt 2) ([#​10524](https://togithub.com/astral-sh/ruff/pull/10524)) - \[`pyflakes`] Make `unnecessary-lambda` an always-unsafe fix ([#​10668](https://togithub.com/astral-sh/ruff/pull/10668)) - \[`pylint`] Fixed false-positive on the rule `PLW1641` (`eq-without-hash`) ([#​10566](https://togithub.com/astral-sh/ruff/pull/10566)) - \[`ruff`] Fix panic in unused `# noqa` removal with multi-byte space (`RUF100`) ([#​10682](https://togithub.com/astral-sh/ruff/pull/10682)) ##### Documentation - Add PR title format to `CONTRIBUTING.md` ([#​10665](https://togithub.com/astral-sh/ruff/pull/10665)) - Fix list markup to include blank lines required ([#​10591](https://togithub.com/astral-sh/ruff/pull/10591)) - Put `flake8-logging` next to the other flake8 plugins in registry ([#​10587](https://togithub.com/astral-sh/ruff/pull/10587)) - \[`flake8-bandit`] Update warning message for rule `S305` to address insecure block cipher mode use ([#​10602](https://togithub.com/astral-sh/ruff/pull/10602)) - \[`flake8-bugbear`] Document use of anonymous assignment in `useless-expression` ([#​10551](https://togithub.com/astral-sh/ruff/pull/10551)) - \[`flake8-datetimez`] Clarify error messages and docs for `DTZ` rules ([#​10621](https://togithub.com/astral-sh/ruff/pull/10621)) - \[`pycodestyle`] Use same before vs. after numbers for `space-around-operator` ([#​10640](https://togithub.com/astral-sh/ruff/pull/10640)) - \[`ruff`] Change `quadratic-list-summation` docs to use `iadd` consistently ([#​10666](https://togithub.com/astral-sh/ruff/pull/10666))

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.



This PR has been generated by Mend Renovate. View repository job log here.