Populært: Data opdateret 27. oktober 2026

Kategorier

Internet1.356
Kommunikation321
Lyd og video898
Grafik og design539
Kontor og produktivitet1.124
Udviklerværktøjer3.134
AI-værktøjer529
Sikkerhed og privatliv385
Systemværktøjer3.114
Spil523
Uddannelse og videnskab239
Netværk og IT284

Download Ruff 0.12.0

An extremely fast Python linter, written in Rust.

Astral Sprog og SDK’er #42 Sprog og SDK’er
Dette er en ældre version. Den nyeste version er 0.17.1. Ruff 0.17.1 · Udgivet:

Installationsfiler 0.12.0

ArkitekturTypeOmfangFilstørrelseDownloadSHA256
64-bit ZIP → Portabel — — github.com VirusTotal
ARM64 ZIP → Portabel — — github.com VirusTotal
32-bit ZIP → Portabel — — github.com VirusTotal

Link og SHA256 stammer fra fællesskabets manifest i Windows Package Manager. Sammenlign hashen for den downloadede fil, før du kører den.

Udgivelsesnoter

Check out the blog post for a migration
guide and overview of the changes!

Breaking changes
- Detection of more syntax errors

Ruff now detects version-related syntax errors, such as the use of the `match`
statement on Python versions before 3.10, and syntax errors emitted by
CPython's compiler, such as irrefutable `match` patterns before the final
`case` arm.

- New default Python version handling for syntax errors

Ruff will default to the _latest_ supported Python version (3.13) when
checking for the version-related syntax errors mentioned above to prevent
false positives in projects without a Python version configured. The default
in all other cases, like applying lint rules, is unchanged and remains at the
minimum supported Python version (3.9).

- Updated f-string formatting

Ruff now formats multi-line f-strings with format specifiers to avoid adding a
line break after the format specifier. This addresses a change to the Python
grammar in version 3.13.4 that made such a line break a syntax error.

- **`rust-toolchain.toml` is no longer included in source distributions**

The `rust-toolchain.toml` is used to specify a higher Rust version than Ruff's
minimum supported Rust version (MSRV) for development and building release
artifacts. However, when present in source distributions, it would also cause
downstream package maintainers to pull in the same Rust toolchain, even if
their available toolchain was MSRV-compatible.

Removed Rules
The following rules have been removed:

- `suspicious-xmle-tree-usage`
(S320)

Deprecated Rules
The following rules have been deprecated:

- `pandas-df-variable-name`

Stabilization
The following rules have been stabilized and are no longer in preview:

- `for-loop-writes` (FURB122)
- `check-and-remove-from-set` (FURB132)
- `verbose-decimal-constructor` (FURB157)
- `fromisoformat-replace-z` (FURB162)
- `int-on-sliced-str` (FURB166)
- `exc-info-outside-except-handler` (LOG014)
- `import-outside-top-level` (PLC0415)
- `unnecessary-dict-index-lookup` (PLR1733)
- `nan-comparison` (PLW0177)
- `eq-without-hash` (PLW1641)
- `pytest-parameter-with-default-argument` (PT028)
- `pytest-warns-too-broad` (PT030)
- `pytest-warns-with-multiple-statements` (PT031)
- `invalid-formatter-suppression-comment` (RUF028)
- `dataclass-enum` (RUF049)
- `class-with-mixed-type-vars` (RUF053)
- `unnecessary-round` (RUF057)
- `starmap-zip` (RUF058)
- `non-pep604-annotation-optional` (UP045)
- `non-pep695-generic-class` (UP046)
- `non-pep695-generic-function` (UP047)
- `private-type-parameter` (UP049)

The following behaviors have been stabilized:

- [`collection-literal-concatenation`] (RUF005) now recognizes slices, in
addition to list literals and variables.
- The fix for [`readlines-in-for`] (FURB129) is now marked as always safe.
- [`if-else-block-instead-of-if-exp`] (SIM108) will now further simplify
expressions to use `or` instead of an `if` expression, where possible.
- [`unused-noqa`] (RUF100) now checks for file-level `noqa` comments as well
as inline comments.
- [`subprocess-without-shell-equals-true`] (S603) now accepts literal strings,
as well as lists and tuples of literal strings, as trusted input.
- [`boolean-type-hint-positional-argument`] (FBT001) now applies to types that
include `bool`, like `bool | int` or `typing.Optional[bool]`, in addition to
plain `bool` annotations.
- [`non-pep604-annotation-union`] (UP007) has now been split into two rules.
UP007 now applies only to `typing.Union`, while
[`non-pep604-annotation-optional`] (UP045) checks for use of
`typing.Optional`. UP045 has also been stabilized in this release, but you
may need to update existing `include`, `ignore`, or `noqa` settings to
accommodate this change.

Preview features
- [ruff] Check for non-context-manager use of `pytest.raises`, `pytest.warns`, and `pytest.deprecated_call` (RUF061) (#17368)
- [syntax-errors] Raise unsupported syntax error for template strings prior to Python 3.14 (#18664)

Bug fixes
- Add syntax error when conversion flag does not immediately follow exclamation mark (#18706)
- Add trailing space around `readlines` (#18542)
- Fix `\r` and `\r\n` handling in t- and f-string debug texts (#18673)
- Hug closing `}` when f-string expression has a format specifier (#18704)
- [flake8-pyi] Avoid syntax error in the case of starred and keyword arguments (PYI059) (#18611)
- [flake8-return] Fix RET504 autofix generating a syntax error (#18428)
- [pep8-naming] Suppress fix for N804 and N805 if the recommended name is already used (#18472)
- [pycodestyle] Avoid causing a syntax error in expressions spanning multiple lines (E731) (#18479)
- [pyupgrade] Suppress UP008 if `super` is shadowed (#18688)
- [refurb] Parenthesize lambda and ternary expressions (FURB122, FURB142) (#18592)
- [ruff] Handle extra arguments to `deque` (RUF037) (#18614)
- [ruff] Preserve parentheses around `deque` in fix for `unnecessary-empty-iterable-within-deque-call` (RUF037) (#18598)
- [ruff] Validate arguments before offering a fix (RUF056) (#18631)
- [ruff] Skip fix for RUF059 if dummy name is already bound (#18509)
- [pylint] Fix PLW0128 to check assignment targets in square brackets and after asterisks (#18665)

Rule changes
- Fix false positive on mutations in `return` statements (B909) (#18408)
- Treat `ty:` comments as pragma comments (#18532)
- [flake8-pyi] Apply `custom-typevar-for-self` to string annotations (PYI019) (#18311)
- [pyupgrade] Don't offer a fix for `Optional[None]` (UP007, `UP045)` (#18545)
- [pyupgrade] Fix `super(__class__, self)` detection (UP008) (#18478)
- [refurb] Make the fix for FURB163 unsafe for `log2`, `log10`, `*args`, and deleted comments (#18645)

Server
- Support cancellation requests (#18627)

Documentation
- Drop confusing second `*` from glob pattern example for `per-file-target-version` (#18709)
- Update Neovim configuration examples (#18491)
- [pylint] De-emphasize `__hash__ = Parent.__hash__` (PLW1641) (#18613)
- [refurb] Add a note about float literal handling (FURB157) (#18615)

https://github.com/astral-sh/ruff/releases/tag/0.12.0

Mest populære i Sprog og SDK’er

Se alle
  1. Go Programming LanguageSprog og SDK’er
  2. LLVMSprog og SDK’er · LLVM
  3. DenoSprog og SDK’er · Deno Land Inc.
  4. CMakeSprog og SDK’er · Kitware
  5. YarnSprog og SDK’er · Yarn Contributors
  6. CcacheSprog og SDK’er · Joel Rosdahl
  7. sbtSprog og SDK’er · Lightbend, Inc.
  8. BOINCSprog og SDK’er · Space Sciences Laboratory, U.C. Berkeley
  9. Dart SDKSprog og SDK’er · Google
  10. NVM for WindowsSprog og SDK’er · Ecor Ventures LLC

Tags

Del