Ruff是2022年推出的Python linter,性能优于pylint和flake8,可替代多种工具。支持通过pyproject.toml配置,可启用全部规则并忽略不需要的,也支持按文件忽略。Ruff还能格式化代码,类似black,并集成到IDE如Neovim,通过LSP提供linting和格式化功能。
Ruff v0.16.0 发布:默认规则从 59 条增至 413 条,新增 Markdown 代码块格式化、ruff: ignore 注释、检查输出显示修复差异,并稳定多项规则。
2026年,Python项目设置将更加简化,推荐使用uv(环境管理)、Ruff(代码质量)、Ty(类型检查)和Polars(数据处理)等工具。这些工具集成良好,减少了配置文件和工具数量,提高了开发效率。uv可轻松创建项目和管理环境,Ruff和Ty提供代码检查和格式化,Polars优化数据处理,适合大数据任务。这一新工具栈鼓励更好的开发实践。
Ruff是2022年推出的Python linter,可替代pylint和flake8,性能高效。使用`uv run ruff check`检查代码,支持`--fix`自动修复。配置通过pyproject.toml,采用选择所有规则再忽略的策略。Ruff也可作格式化工具,类似black,并支持LSP集成到Neovim等编辑器。
Ruff v0.15.0 发布,新增 16 条稳定 lint 规则、6 项行为稳定化及代码块级抑制注释。格式化器推出 2026 风格指南:lambda 参数保持单行、Python 3.14 简化 except 块、保留函数体首空行。另有两项预览风格待反馈,并调整 Docker 镜像基础版本等破坏性变更。
Ruff v0.13.0 发布,该工具用 Rust 编写,速度极快。主要变更包括:新增 lint.future-annotations 设置,可自动添加 from __future__ import annotations;首方导入检测改用完整模块路径;弃用规则须用完整代码选择;移除 macOS 旧配置目录回退。多项规则稳定,移除 PD901 和 UP038。
Ruff v0.12.0 发布,新增检测两类语法错误:版本相关错误(如低版本使用 match 语句)和编译器阶段错误(如重复参数名)。默认语法检查使用最新 Python 3.13,其他规则仍用 3.9。源码包不再包含 rust-toolchain.toml,便于构建。调整多行 f-string 格式化。稳定 22 条规则,弃用 1 条,移除 1 条。
本文分享了作者对代码检查和格式化工具的看法,特别是从传统Python工具迁移到Ruff的过程。作者认为Ruff整合了多种功能,提高了代码质量和开发效率。通过分阶段的迁移策略,作者在大型代码库中逐步实施Ruff,旨在简化Python代码管理。
Ruff v0.10.0 发布,这是一个用 Rust 编写的极快 Python linter 和格式化工具。主要更新:改进 Python 版本检测,使 pyproject.toml 中的 requires-python 更易生效;增强抑制注释解析;TYPE_CHECKING 行为与 mypy 等对齐,移除 if 0/if False 支持,新增任意 TYPE_CHECKING 符号支持;稳定多条规则并弃用部分规则。
Ruff是一款基于Rust构建的高效Python工具,性能优于传统工具,集成了代码检查和格式化功能,且高度可配置,适合多种项目需求。
Ruff v0.9.0 发布,新增 2025 格式化风格指南,包括 f-string 插值表达式格式化、引号规范化、避免单行隐式字符串拼接、优先换行断言消息、减少返回类型注解括号、自动为 match case 的 if 守卫加括号。同时稳定 7 条 lint 规则及 2 条自动修复,并改进多项预览行为。
pre-commit是一个多语言预提交钩子管理框架,允许在本地提交前运行工具(如Flake8和Ruff)。安装后,通过YAML文件配置要运行的钩子。使用`pre-commit run --all-files`命令检查所有文件,确保代码质量。
在Python项目中,使用Flake8、PyLint等工具规范代码非常重要。通过GitHub Actions,可以在创建PR时自动运行Ruff进行代码检查和格式化。需在代码根目录下创建.github/workflows文件夹,并配置ruff.yml文件以安装Python和依赖,运行Ruff。这有助于保持代码整洁和一致性。
Ruff v0.8.0 发布:默认目标 Python 版本升至 3.9,稳定 13 条规则,移除 6 条废弃规则,flake8-type-checking 错误码由 TCH 改为 TC,更新 Unicode 宽度计算,独立安装器改用 XDG 目录,并调整 pydoclint 诊断位置。
本周任务是为DocBot添加静态分析工具和CONTRIBUTING.md文件。我选择了Ruff格式化工具,因为其文档清晰且易于安装。Ruff能够格式化代码并检查错误,从而提升代码质量。此外,我还实现了VS Code的自动化设置,以提高开发效率。
本文讨论了Seneca College OSD600课程中的实验,学习了静态分析工具Ruff和格式化工具。使用这些工具提高了代码一致性,并练习了git命令。作者选择Ruff作为格式化和检查工具,认为使用单一工具更高效。文章还介绍了Ruff在项目中的设置及配置,分享了使用经验和学习收获。
Ruff v0.7.0 已发布,可从 PyPI 安装。该版本破坏性变更较少:PT001 和 PT023 规则默认改为移除括号,更符合 pytest 风格,并可通过配置恢复;TRY302 更名为 TRY203;移除 lint.allow-unused-imports;SIM115 检测范围扩大。
Ruff 是一个用 Rust 编写的 Python 代码检查器和格式化工具,速度比传统工具快 10 到 100 倍,支持自动修复错误,兼容 Python 3.12,能够取代 Flake8、Black 和 isort,集成更多功能,提升开发效率。
Ruff v0.6.0 发布,升级改动较小:弃用 PT004、PT005、UP027 规则;isort 默认将 src/ 识别为第一方代码;RUF025 改为 C420;Jupyter 笔记本默认纳入检查与格式化,可通过配置排除;PT001 和 PT023 默认移除括号;稳定 9 条 pylint 规则、2 条 PYI 规则及 RUF101;扩展 ASYNC 规则至 asyncio 和 anyio;稳定 RET505-508 自动修复。
Astral Software 专注于为 Python 生态系统创建高性能开发工具。Ruff 是一个用 Rust 编写的快速 Python linter,因每周数百万次下载而广受欢迎。Ruff 的成功促使了 Python 格式化工具的开发和强大的贡献者基础的建立。Astral Software 计划继续为 Python 构建高性能工具。他们还发布了 uv,一个快速的 Python 包安装器和解析器。Ruff 的卖点是其性能、简单性和适应性。Ruff 的未来计划包括可定制规则以及对跨文件类型推断和分析的支持。随着 AI 生成代码的增加,linting 工具变得越来越重要。
完成下面两步后,将自动完成登录并继续当前操作。