随着开发工具的不断进步,Python社区终于迎来了一个突破性的新工具——Ruff。这是一个由Rust编写的Python代码检查和格式化工具,致力于比现有的工具(如Flake8、Black)快10到100倍,并且集成了更多功能。无论你是Python开发者,还是开源项目的维护者,Ruff都能带给你惊人的提升。
Ruff是一个极快的Python代码检查器和格式化工具,使用Rust语言编写,提供了以下亮点:
Ruff的目标是比其他工具更快,同时在单一、统一的接口下整合更多功能。它不仅能取代Flake8(和其多个插件),Black,isort等工具,还能以数十倍甚至数百倍的速度执行任务。
pyproject.toml
、ruff.toml
或.ruff.toml
文件进行配置,并且默认配置就能覆盖绝大多数常见错误。Ruff可以通过以下几种方式进行安装:
pip install ruff
pipx install ruff
uv tool install ruff@latest # 全局安装Ruff
uv add --dev ruff # 将Ruff添加到项目中
curl -LsSf https://astral.sh/ruff/install.sh | sh
powershell -c "irm https://astral.sh/ruff/install.ps1 | iex"
代码检查(Linting):你可以使用Ruff检查Python代码,寻找错误并得到修复建议。例如,使用以下命令检查当前目录下所有文件:
ruff check
代码格式化(Formatting):Ruff还支持自动格式化代码,使其符合PEP 8等标准:
ruff format
自动修复:Ruff可以自动修复一些常见的错误,例如删除未使用的导入:
ruff check --fix
集成支持:Ruff支持与VS Code等编辑器的无缝集成,也可以作为GitHub Action进行自动化工作流。
Ruff支持超过800条规则,很多规则都来源于Flake8和其他流行的Python工具,具体包括:
autoflake
)。flake8-bandit
)。此外,Ruff还提供了大量针对代码质量的检查,如:
flake8-bugbear
flake8-commas
flake8-docstrings
flake8-import-conventions
flake8-logging
等等Ruff的使用者反馈非常积极:
Ruff被多个大型开源项目和公司广泛使用,包括:
以及更多公司和项目。
Ruff不仅是一个高效的Python代码检查工具,它还将性能提升到一个全新的高度。无论是个人开发者,还是大型开源项目的维护者,都可以通过Ruff获得更快、更可靠的代码质量检查。如果你还没有尝试过Ruff,赶快来体验这款由Rust编写、旨在极致加速的工具吧!