搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

astral-sh/ruff

开发工具

用 Rust 编写的快速 Python 代码检查与格式化工具,内置 900 多条规则并支持配置文件。

在 GitHub Trending 日榜上的最好名次:第 18 名。点击获取 README 徽章
50,582
2,600
Rust
MIT
创建于 4 年前

项目介绍

Ruff 是用 Rust 实现的 Python linter 和代码格式化工具,目标是在一个统一接口下提供静态检查和格式化。它重新实现了 Flake8 插件、isort、Black、pydocstyle、pyupgrade、autoflake 等工具的规则,并说明与 Flake8、isort、Black 的兼容程度 (3)(19)(20)(21)。项目内置 900 多条规则,支持 pyproject.toml 配置、缓存和自动修复,并声明兼容到 Python 3.15 (3)。

Ruff 由 Astral 开发,同一团队还维护 uv 和 ty,项目被 Apache Airflow、FastAPI、Transformers、Pandas、SciPy 等大型开源项目使用 (3)(39)(40)(41)。它适合维护 Python 项目、CI 流程或编辑器工作流的开发者,用一套工具完成代码检查和格式化。

快速使用

Ruff 发布在 PyPI 上。最省事的方式是用 uvx 直接运行,或者用 uv、pip、pipx 安装 (3):

uvx ruff@0.17.4 check   # 检查当前目录下所有文件
uvx ruff@0.17.4 format  # 格式化当前目录下所有文件

也可以先安装:

uv tool install ruff@latest  # 或:pip install ruff、pipx install ruff

macOS/Linux 和 Windows 还提供独立安装脚本 (3)。安装后对目录、.py 通配符或单个文件运行:

ruff check path/to/code/
ruff format path/to/code/*.py

首次运行会报告检查结果;加 --fix 可以应用安全修复。格式化会直接改写文件。Ruff 还可以作为 pre-commit hook、GitHub Action 或 VS Code 等编辑器插件使用 (3)(24)。

配置方式

Ruff 从 pyproject.toml、ruff.toml 或 .ruff.toml 读取配置。写在 pyproject.toml 里时,段名要加 tool.ruff 前缀,例如 [lint] 要写成 [tool.ruff.lint]。默认配置按 Python 3.11、行宽 88 和 Black 风格处理;可以用 --select/--ignore 在命令行或配置文件里启用、禁用规则,设置 preview = true 或加 --preview 可开启不稳定功能 (3)。完整配置项和默认规则集见配置文档。

使用约束

Ruff 可通过 PyPI 和独立安装脚本安装,README 还列出 Homebrew、Conda 等包管理器以及 VS Code 等编辑器集成 (3)。项目采用 MIT 许可证 (9)。Ruff 重新实现其他工具的规则,而不是加载它们的插件,因此 Flake8 插件行为和规则代码的划分不一定一一对应;FAQ 中有与 Flake8、isort、Black 的对比说明 (19)(20)(21)。规则集和预览模式可能随版本变化,README 的安装示例固定了具体版本。

HotRepo 点评

Ruff 进入过 HotRepo 的 GitHub 全语言日榜,记录到的最好名次是第 18 名;2026-11-06 的日榜快照显示当天新增 107 个 Star,总 Star 数为 50,486。项目在 Hacker News 上有一条 2025 年 1 月的长讨论,获得 200 分和 150 条评论,评论者围绕整合 Python 工具链、以及用 Rust 重写既有 linter 的取舍展开争论 (1)。这些讨论只是用户观点,不代表维护者说法,也不是实测结果。安装包和文档是实际入口;README 中的速度描述属于项目自己的基准表述,并非独立测量。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。

Hacker News 讨论

Ruff: Python linter and code formatter written in Rust
▲ 200 · 150 条评论 · 2025年1月21日
Avoid unnecessary parser lookahead for operators
▲ 3 · 0 条评论 · 2026年5月21日
Ruff: fast Python linter and code formatter, written in Rust
▲ 3 · 0 条评论 · 2023年12月3日