astral-sh

Ruff 是用 Rust 编写的极快 Python 代码检查与格式化工具,一个工具即可替代 Flake8、isort、Black 等多个工具,适合大型项目与持续集成场景。

0.17.3
发布于
1 天前
50,317
星标
2,103,933
下载
同步于
1 天前

最新版本

0.17.32026年10月27日 08:35
下载慢?可在上方随时切换镜像源

项目说明

项目概述

Ruff 是用 Rust 编写的 Python 静态检查与代码格式化工具,以极高的执行速度著称,比既有工具快 10 到 100 倍。它内置 900 多条规则,可一站式替代 Flake8 及其众多插件、Black、isort、pydocstyle、pyupgrade 等工具。Ruff 通过 pip 即可安装,原生支持 pyproject.toml 配置,已被 Airflow、FastAPI、pandas 等主流开源项目采用。

项目 内容
语言 Rust
目标代码 Python
安装方式 pip、uv、pipx、独立安装器
许可 MIT

一个工具管住 Python 代码的风格与质量,还快到可以放进提交钩子。

主要功能

  • 极速检查:比 Flake8 等传统 linter 快 10 到 100 倍
  • 代码格式化:内置 formatter,与 Black 输出兼容
  • import 排序:内建与 isort 等价的排序功能
  • 900+ 规则:原生重实现 flake8-bugbear 等热门插件规则
  • 自动修复:支持自动修复问题,例如删除未使用的 import
  • 缓存加速:内置缓存避免重复分析未变更文件
  • 灵活配置:原生支持 pyproject.toml 与层级级联配置
  • 编辑器集成:提供 VS Code 等编辑器的官方插件

适用人群

  • Python 开发者
  • 开源项目维护者
  • 关注 CI 检查速度的工程团队
  • monorepo 管理者
  • 需要统一代码风格的团队

快速上手

  1. 安装 Ruff
pip install ruff
  1. 检查当前目录代码
ruff check
  1. 格式化当前目录代码
ruff format
  1. 在 pyproject.toml 中按需配置规则与行为

核心优势

  • 速度极快:全仓库扫描常在亚秒级完成,可放心用于提交钩子
  • 多合一:一个工具替代多个 linter 与 formatter,简化工具链
  • 迁移平滑:与既有工具输出兼容,切换成本低
  • monorepo 友好:层级与级联配置适合大型代码库

系统要求

项目 要求
操作系统 Linux、macOS、Windows
目标语言 Python 3.x
运行依赖 单一可执行文件,无需 Python 运行时

注意事项

  • 规则取舍:900 多条规则应按项目实际启用,避免告警噪音
  • 迁移策略:从 Flake8 迁移时建议先对照规则映射再切换
  • 版本升级:新版本可能调整默认行为,升级前查看变更日志

历史版本

排序