这家公司用 Rust 开发了性能最强的 Python 代码分析工具,其创始人表示还要继续加大力度——为 Python 生态构建更多高性能开发工具。
Ruff 是去年 8 月正式开源的“明星”项目,一经面世便迅速获得了 Python 社区的关注,并被许多流行和成熟的 Python 开源项目采用,比如 Airflow, FastAPI, Pandas,还有很多科技公司也使用了 Ruff,包括 Amazon, Hugging Face, LangChain, Microsoft, Mozilla, Netflix 等。
Ruff 是基于 Rust 编写的高性能 Python 代码分析工具 (Python linter)。自开源以来,Ruff 收获了大量关注,其在 GitHub 的 Star 数量目前已飙升至 1 万多。
Ruff 定位是代码分析工具(即 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 友好,具有分层和级联配置
近日,Ruff 创始人 Charlier Marsh 宣布成立了新公司:Astral。他表示公司的使命是通过构建高性能开发者工具来提升 Python 生态的生产力。他们会继续扩展 Ruff 功能,并构建更多类似 Ruff 的工具。
Charlier Marsh 介绍道,目前公司仅有三名员工,已经筹集了 400 万美元的种子资金。Ruff 会一直保持开源和免费。具体商业模式则是通过直接集成他们的开源产品,提供比替代方案更好、更易于使用的付费服务。目标是让这些服务像 Ruff 本身一样具有影响力——当然开发者也可以选择不使用它们。