Ruff v0.1.0 - Rust 编写的高性能 Python 代码分析工具


【源创会预告】1024 程序员节(的前两天),相约开源PHP办公室,我们一起聊 AI!>>>

Ruff v0.1.0 已发布,此版本主要变化包括提升稳定性引入新的预览模式引入 fix safety 等级,以及执行正式的版本控制策略。

  • 新的预览模式

通过预览模式,用户可自行选择体验新功能——用于启用新规则、不稳定修复和实验性代码分析。

[tool.ruff]
preview = true
  • 引入 fix safety 等级

Ruff 自动修复违规行为的能力是其最强大的功能之一。然而,考虑到 Python 的动态特性,Ruff 并不总能保证修复是“安全的”。

自 5 月份以来,开发团队一直将 Ruff 的修复子集标记为不安全。当应用被安全修复时,代码的含义和意图将被保留;当应用不安全修复时,含义可能会改变。

但在 v0.1.0 中,Ruff 默认情况下只会使用安全修复,以增加应用修复时的准确性,并突出显示需要额外审查的修复。

查看文档了解更多。

  • 执行正式的版本控制策略

随着 0.1.0 的发布,Ruff 正式执行完整的版本控制策略,简单总结如下:

  • 次要版本号代表发布稳定预览功能、更改稳定行为以及进行重大更改。
  • 补丁版本号代表错误修复,以及预览中的规则或修复的任何更改。

完整描述查看文档。

最后,Ruff 文档站点已从 beta.ruff.rs/docs 迁移到 docs.astral.sh。

详情查看发布公告。


Ruff 是基于 Rust 编写的高性能 Python 代码分析工具(即 Linter),用于检查代码中的语法错误、编码规范问题、潜在的逻辑问题和代码质量问题等,可以提供实时反馈和自动修复建议。其主打的特性是高性能,宣称比现有的同类工具快 10~100 倍。

Ruff 核心特性

  • 通过 pip 安装
  • 支持 pyproject.toml
  • 兼容 Python 3.11
  • 超过 500 条内置规则,与 Flake8 内置的规则集近乎对等
  • 重新实现了数十个 Flake8 插件,如 flake8-bugbear、flake8-comprehensions 等
  • 支持自动修复,可自动纠正错误(例如,删除未使用的导入)
  • 内置缓存,可避免重复分析未更改的文件
  • 支持 VS Code、Pycharm、Neovim、Sublime Text、Emacs 等编辑器
  • 对 monorepo 友好,具有分层和级联配置


相關推薦

2023-08-02

Ruff 是基于 Rust 编写的高性能 Python 代码分析工具(即 Linter),用于检查代码中的语法错误、编码规范问题、潜在的逻辑问题和代码质量问题等,可以提供实时反馈和自动修复建议。其主打的特性是高性能,宣称比现有的同类工

2023-04-28

熟的编程语言技术和实践来改进对大量繁杂配置和策略的编写,致力于构建围绕配置的更好的模块化、扩展性和稳定性,更简单的逻辑编写,以及更快的自动化集成和良好的生态延展性。 KCL Go SDK 是什么? kclvm 是一个 KCL 语言

2024-08-27

tklog是rust高性能结构化日志库 易用,高效,结构化,控制台日志,文件日志,文件切割,文件压缩,同步打印,异步打印 功能 功能支持:控制台日志,文件日志,同步日志,异步日志 日志级别设置:提供与标准库同级

2023-11-15

,但具有内存安全或安全并发等更高级的功能,使其成为高性能大型应用程序的完美选择。该语言最近在 web3/区块链领域颇受欢迎,例如 Solana 合约不是用 Solidity 制作的,而是采用的 Rust。 虽然 Rust 开发人员的平均年薪为 15.6

2023-04-24

偶像), 客观的说Haskell非常强, 类型推导、代码优美、高性能递归、无锁编程等极大开阔我的视野, 可惜的是这个语言的作者大部分都是科学家,生态一般, 很难找到工作。 4. Elisp: 我写了18年Elisp代码, 刷了400+Emacs插件

2022-07-29

发人员提供良好的体验。该公司保证称,使用受支持语言编写代码的人,将不会被要求将代码转换为不同的语言。 Hack 是 Meta 自己开发推出的一款新的编程语言,一种类型安全的 PHP 变体,依赖于 HipHop Virtual Machine (HHVM)。Me

2023-03-03

CeresDB 是一款高性能、分布式的云原生时序数据库,采用 Rust 编写。其开发团队近日宣布:经过近一年的开源研发工作,时序数据库 CeresDB 1.0 正式发布,达到生产可用标准。 CeresDB 1.0 官方中文文档:https://docs.ceresdb.io/cn/ CeresD

2024-06-04

因为语法复杂,很多学生即使进行了系统学习,仍然难以编写出稳定且少错的程序,尤其是其中的指针和内存管理机制,令无数学生困扰不已。随着人工智能的发展,Python编程语言的使用率日益提升,有的学生认为学好Python就足

2023-03-11

test cases,在 v0.3 版本中通过 70% 以上。 Protocol 新版高性能通信协议 基于 Arrow Flight RPC 构建,相比原来的 gRPC 私有协议,现在更加简洁高效,也很方便多种语言利用 Arrow Flight 的 SDK 直接与 GreptimeDB 通信。对 Stream 的支持也

2022-10-15

人员来说这并不是真正需要的;Scientific programmers 倾向于编写单线程函数。Web 开发人员可以编写 PHP 代码,它提供了一种简单的声明式方法来创建网站。Serverless programmers 只需编写一个函数,然后将繁重的工作留给其他人。需要

2023-06-20

sp;现已发布,VirtualEnv 用于在一台机器上创建多个独立的 Python 运行环境,可隔离项目之间的第三方包依赖,为部署应用提供方便,把开发环境的虚拟环境打包到生产环境即可,不需要在服务器上再折腾一翻。  新版更新内容

2023-07-10

程序、H5、Android和IOS。 前端组件采用uView,全端兼容的高性能UI框架。 1.2 功能介绍 目前已实现功能 后台系统通知 用户登录后通过 IoTOS-IM 及时下发 公告 与通知 实现国际化语言 二、演示安装包 'apk' 目录下 

2024-08-20

分析提供了一个优越的环境,从而确保了编译和运行时的高性能。从编译速度来看,MoonBit 编译 626 个包(package)只需 1.06 秒,比 Rust 快了近 9 倍,运行时间仅为Go的 35分之一。 小 MoonBit 在输出 Wasm 代码体积上相较于传统语言

2023-04-29

行调试] 平台上获得的支持。” Pydantic 的创始人兼使用 Python 和 Rust 的开发人员 Samuel Colvin 也表示,“我对微软的这种前瞻性思维印象深刻,但并不感到非常惊讶。我确信他们的工程师在采用 Rust 方面有被施压。如果你今天正在