操作系统
Linux
最近更新
2024年11月16日
使用许可
开源
语言
不支持中文
开发者
AStral
文件大小
10.22 MB

Ruff是一个基于Python的代码检查工具,由astral开发。它可以帮助开发人员在编写Python代码时发现潜在问题并提供修复建议。

Ruff具有多种功能,包括代码检查、自动纠错等。它使用Rust编写的Python AST解析器,实现了自己的AST遍历、visitor抽象和lint规则逻辑。与其他工具相比,Ruff具有更快的速度和更高的性能,可以比Python的Flake8和Black快10-100倍。

此外,Ruff还支持通过pip安装、内置700+规则、兼容Python 3.12等功能,可以很容易地集成到现有的开发工作流程中。它还提供了实时反馈和自动修复建议,帮助开发人员更快地发现和解决问题。

0.7.4 版本更新说明:

预览功能

  • flake8-datetimez:检测 datetime.maxdatetime.min 的使用(DTZ901)
  • flake8-logging:实现根日志调用检查(LOG015)
  • flake8-no-pep420:检测空的隐式命名空间包(INP001)
  • flake8-pyi:添加“替换为 Self”的修复建议(PYI019)
  • perflint:实现手动列表推导式的快速修复(PERF401)
  • pylint:实现浅拷贝环境变量检查(W1507)
  • ruff:实现联合类型中 None 不在末尾的检查(RUF036)
  • ruff:从 flake8-markupsafe 插件实现不安全的标记调用检查(RUF035)
  • ruff:为 attrs 数据类报告问题(RUF008, RUF009)


规则变更

  • flake8-boolean-trap:排除定义操作符的魔术方法(FBT001)
  • flake8-pyi:添加“替换为 Self”的修复建议(PYI034)
  • flake8-pyi:始终自动修复重复的联合成员(PYI016)
  • flake8-pyi:改进嵌套和混合类型联合的自动修复(PYI055)
  • flake8-pyi:当类型注释包含注释时,将重复字面量成员的修复标记为不安全(PYI062)


服务器

  • 使用当前工作目录解析 ruff.configuration 中的设置


Bug 修复

  • 避免 PLC014(无用的导入别名)和 I002(缺少必需的导入)之间的冲突,通过考虑 lint.isort.required-imports 对 PLC014 进行处理
  • flake8-type-checking:如果引用注释变为无效语法,则跳过引用注释(TCH001)
  • flake8-pyi:避免在 Python 3.11 之前的存根文件中使用 typing.Self(PYI034)
  • flake8-pytest-style:标记带有关键字参数 expected_exceptionpytest.raises 调用(PT011)
  • flake8-simplify:推断所有元素均为解包的字面量可迭代对象的真值性(SIM222)
  • flake8-type-checking:修复 typing.Annotated 的误报(TCH001)
  • pylint:允许在笔记本的顶级作用域中使用 await(PLE1142)
  • pylint:修复 await-outside-async 检测中的各种问题(PLE1142)
  • pyupgrade:避免在无效上下文中应用 PEP 646 重写(UP044)
  • pyupgrade:检测冗余打开模式中的排列组合(UP015)
  • refurb:避免在重新排序的集合中触发硬编码字符串字符集检查(FURB156)
  • refurb:为详细的小数构造函数添加更多特殊情况(FURB157)
  • refurb:使用 UserString 替换不存在的 UserStr(FURB189)
  • ruff:避免将小写字母视为 # noqa 代码(RUF100)
  • ruff:当 Optional 没有类型参数时不报告(RUF013)


文档

  • 为 F704 和 PLE1142 添加“笔记本行为”部分
  • 记录修复安全性相关的注释策略


其他版本
最近更新软件 - Linux 软件更新列表
Cursor [开发] Cursor 0.42.5 64位
昨天 21:26
WPS 365 [应用软件] WPS 365 12.8.2.18605 龙芯
昨天 21:26
WPS 365 [应用软件] WPS 365 12.8.2.18605 ARM64
昨天 21:23
WPS 365 [应用软件] WPS 365 12.8.2.18605 MIPS64EL
昨天 21:23
WPS Office [应用软件] WPS Office 12.1.0.17900 64位
昨天 21:21
WPS 365 [应用软件] WPS 365 12.8.2.18605 64位
昨天 21:17
妙笔 [应用软件] 妙笔 2.5.8.7566 64位
昨天 07:19
Zoom [网络] Zoom 6.2.10.4983 64位
昨天 07:09
Lunacy [设计] Lunacy 10.6 ARM64
昨天 06:44
Lunacy [设计] Lunacy 10.6 64位
昨天 06:44
新软件 - Linux 新软件列表
Cursor [开发] Cursor 0.42.5 64位
昨天 21:26
VMware Workstation [系统工具] VMware Workstation 17.6.1 64位
11-19
微信 [网络] 微信 4.0.0 龙芯
11-11
微信 [网络] 微信 4.0.0 ARM64
11-11
微信 [网络] 微信 4.0.0 64位
11-11
Another Redis Desktop Manager [开发] Another Redis Desktop Manager 1.7.0 ARM64
11-10
115浏览器 [网络] 115浏览器 27.0.6.9 64位
11-09
Python 3.13 [开发] Python 3.13 3.13.0 64位
11-07
Python 3.12 [开发] Python 3.12 3.12.7 64位
11-07
Python 3.11 [开发] Python 3.11 3.11.10 64位
11-07