你好,我是坚持分享干货的 EarlGrey,翻译出版过《Python编程无师自通》、《Python并行计算手册》等技术书籍。
如果我的分享对你有帮助,请关注我,一起向上进击。
今天给大家推荐一款高性能的 Python 语法检查器和代码格式化工具。
这个开源项目就是:Ruff,它是基于 Rust 编写的高性能 Python 代码分析工具(即 Linter),用于检查代码中的语法错误、编码规范问题、潜在的逻辑问题和代码质量问题等,可以提供实时反馈和自动修复建议。
它主打的特性是高性能,宣称比现有的同类工具快 10~100 倍。
![cbf880c4a75162d6bc2ea27d056c00da.png](https://i-blog.csdnimg.cn/blog_migrate/79b3fa443d1b0b2f7c49489894d73dca.png)
Ruff 核心特性
通过 pip 安装
支持 pyproject.toml
兼容 Python 3.12
超过 700 条内置规则,与 Flake8 内置的规则集近乎对等
重新实现了数十个 Flake8 插件,如 flake8-bugbear、flake8-comprehensions 等
支持自动修复,可自动纠正错误(例如,删除未使用的导入)
内置缓存,可避免重复分析未更改的文件
支持 VS Code、Pycharm、Neovim、Sublime Text、Emacs 等编辑器
对 monorepo 友好,具有分层和级联配置
其中着重的一点是对规则的支持。
Ruff 借鉴了流行的工具如 Flake8、autoflake、isort、pyupgrade、yesqa 等等,然后用 Rust 重新实现了超过 500 条规则。
它本身不支持插件,但是吸收了数十个常用的 Flake8 插件的设计,使得已囊括的规则范围比其它任何工具都大。例如实现了部分flake8的插件。
Python 圈都在用
可能正是因为它的高性能,已经有越来越多的Python开发者转向使用 Ruff了。在Ruff的项目页面上,官方列出的就包括 FastAPI、Bokeh、isort、Zulip 等知名项目作者的力捧。
![79d6b916a8fe966733752557a4bd8b25.png](https://i-blog.csdnimg.cn/blog_migrate/a542d076633a137d9ad61014ca7a17f8.png)
使用 Ruff 做语法检查和格式化的开源项目,更是近百。
补充一下
这里还必须介绍两个 Rust 项目,因为 Ruff 的成功离不开它们:
RustPython:用 Rust 写成的 Python 解释器。Ruff 利用了它高性能的 AST 解析器,以此实现了自己的 AST 遍历、访问器抽象和代码质量检测逻辑
Maturin:用 Rust 写成的打包工具,可以将 Rust 项目打包成 Python 可用的包,从而可以被我们“pip install”后使用,且不需要配置 Rust 环境
小结
本文为大家推荐了一个高性能的Python语法检查和格式化工具 Ruff,它正在逐渐席卷 Python 圈,得到了众多开源项目的支持。如果你有兴趣的话,不妨也在项目中试用一下吧。😊
- EOF -
文章已经看到这了,别忘了在右下角点个“赞”和“在看”鼓励哦~
推荐阅读 点击标题可跳转
回复下方「关键词」,获取优质资源
回复关键词「 pybook03」,领取进击的Grey与小伙伴一起翻译的《Think Python 2e》电子版
回复关键词「书单02」,领取进击的Grey整理的 10 本 Python 入门书的电子版
👇关注我的公众号👇
告诉你更多细节干货
欢迎围观我的朋友圈
👆每天更新所想所悟