v0.3.0
版本发布时间: 2024-02-29 23:30:59
astral-sh/ruff最新发布版本:0.5.3(2024-07-19 01:10:02)
This release introduces the new Ruff formatter 2024.2 style and adds a new lint rule to detect invalid formatter suppression comments.
Changes
Preview features
- [
flake8-bandit
] Remove suspicious-lxml-import (S410
) (#10154) - [
pycodestyle
] Allowos.environ
modifications between imports (E402
) (#10066) - [
pycodestyle
] Don't warn about a single whitespace character before a comma in a tuple (E203
) (#10094)
Rule changes
- [
eradicate
] Detect commented outcase
statements (ERA001
) (#10055) - [
eradicate
] Detect single-line code fortry:
,except:
, etc. (ERA001
) (#10057) - [
flake8-boolean-trap
] Allow boolean positionals in__post_init__
(#10027) - [
flake8-copyright
] Allow © in copyright notices (#10065) - [
isort
]: Use one blank line after imports in typing stub files (#9971) - [
pylint
] New Ruledict-iter-missing-items
(PLE1141
) (#9845) - [
pylint
] Ignoresys.version
andsys.platform
(PLR1714
) (#10054) - [
pyupgrade
] Detect literals with unary operators (UP018
) (#10060) - [
ruff
] Expand rule forlist(iterable).pop(0)
idiom (RUF015
) (#10148)
Formatter
This release introduces the Ruff 2024.2 style, stabilizing the following changes:
- Prefer splitting the assignment's value over the target or type annotation (#8943)
- Remove blank lines before class docstrings (#9154)
- Wrap multiple context managers in
with
parentheses when targeting Python 3.9 or newer (#9222) - Add a blank line after nested classes with a dummy body (
...
) in typing stub files (#9155) - Reduce vertical spacing for classes and functions with a dummy (
...
) body (#7440, #9240) - Add a blank line after the module docstring (#8283)
- Parenthesize long type hints in assignments (#9210)
- Preserve indent for single multiline-string call-expressions (#9673)
- Normalize hex escape and unicode escape sequences (#9280)
- Format module docstrings (#9725)
CLI
- Explicitly disallow
extend
as part of a--config
flag (#10135) - Remove
build
from the default exclusion list (#10093) - Deprecate
ruff <path>
,ruff --explain
,ruff --clean
, andruff --generate-shell-completion
in favor ofruff check <path>
,ruff rule
,ruff clean
, andruff generate-shell-completion
(#10169) - Remove the deprecated CLI option
--format
fromruff rule
andruff linter
(#10170)
Bug fixes
- [
flake8-bugbear
] Avoid adding default initializers to stubs (B006
) (#10152) - [
flake8-type-checking
] Respect runtime-required decorators for function signatures (#10091) - [
pycodestyle
] Mark fixes overlapping with a multiline string as unsafe (W293
) (#10049) - [
pydocstyle
] Trim whitespace when removing blank lines after section (D413
) (#10162) - [
pylint
] Delete entire statement, including semicolons (PLR0203
) (#10074) - [
ruff
] Avoid f-string false positives ingettext
calls (RUF027
) (#10118) - Fix
ruff
crashing on PowerPC systems because of too small page size (#10080)
Performance
- Add cold attribute to less likely printer queue branches in the formatter (#10121)
- Skip unnecessary string normalization in the formatter (#10116)
Documentation
- Remove "Beta" Label from formatter documentation (#10144)
-
line-length
option: fix link topycodestyle.max-line-length
(#10136)
Contributors
1、 ruff-0.3.0-aarch64-apple-darwin.tar.gz 6.91MB
2、 ruff-0.3.0-aarch64-apple-darwin.tar.gz.sha256 105B
3、 ruff-0.3.0-aarch64-pc-windows-msvc.zip 6.68MB
4、 ruff-0.3.0-aarch64-pc-windows-msvc.zip.sha256 105B
5、 ruff-0.3.0-aarch64-unknown-linux-gnu.tar.gz 6.97MB
6、 ruff-0.3.0-aarch64-unknown-linux-gnu.tar.gz.sha256 110B
7、 ruff-0.3.0-aarch64-unknown-linux-musl.tar.gz 6.9MB
8、 ruff-0.3.0-aarch64-unknown-linux-musl.tar.gz.sha256 111B
9、 ruff-0.3.0-armv7-unknown-linux-gnueabihf.tar.gz 6.4MB
10、 ruff-0.3.0-armv7-unknown-linux-gnueabihf.tar.gz.sha256 114B
11、 ruff-0.3.0-armv7-unknown-linux-musleabihf.tar.gz 6.41MB
12、 ruff-0.3.0-armv7-unknown-linux-musleabihf.tar.gz.sha256 115B
13、 ruff-0.3.0-i686-pc-windows-msvc.zip 6.37MB
14、 ruff-0.3.0-i686-pc-windows-msvc.zip.sha256 102B
15、 ruff-0.3.0-i686-unknown-linux-gnu.tar.gz 7.43MB
16、 ruff-0.3.0-i686-unknown-linux-gnu.tar.gz.sha256 107B
17、 ruff-0.3.0-i686-unknown-linux-musl.tar.gz 7.1MB
18、 ruff-0.3.0-i686-unknown-linux-musl.tar.gz.sha256 108B
19、 ruff-0.3.0-powerpc64-unknown-linux-gnu.tar.gz 8.07MB
20、 ruff-0.3.0-powerpc64-unknown-linux-gnu.tar.gz.sha256 112B
21、 ruff-0.3.0-powerpc64le-unknown-linux-gnu.tar.gz 7.82MB
22、 ruff-0.3.0-powerpc64le-unknown-linux-gnu.tar.gz.sha256 114B
23、 ruff-0.3.0-s390x-unknown-linux-gnu.tar.gz 8.5MB
24、 ruff-0.3.0-s390x-unknown-linux-gnu.tar.gz.sha256 108B
25、 ruff-0.3.0-x86_64-apple-darwin.tar.gz 7.27MB
26、 ruff-0.3.0-x86_64-apple-darwin.tar.gz.sha256 104B
27、 ruff-0.3.0-x86_64-pc-windows-msvc.zip 7MB
28、 ruff-0.3.0-x86_64-pc-windows-msvc.zip.sha256 104B
29、 ruff-0.3.0-x86_64-unknown-linux-gnu.tar.gz 7.47MB
30、 ruff-0.3.0-x86_64-unknown-linux-gnu.tar.gz.sha256 109B
31、 ruff-0.3.0-x86_64-unknown-linux-musl.tar.gz 7.52MB