Ruff v0.16.0 发布:默认规则从59条激增至413条,CI工作流需关注
评分
84本文披露 Ruff 默认规则的大幅扩展及具体迁移方法,对 Python 开发者有较高信息增量
结构清晰,包含具体统计数据、命令示例和 AI 集成案例,质量上乘
提供了可立即执行的一行命令和修复策略,对真实开发场景有直接帮助
文章发布于版本发布后两天,非常及时
来自知名技术博主 Simon Willison,长期维护多个 Python 项目,信源可靠
基础分 93.5 × T2 信源权重 ×0.9 = 84
精选线 70已入选精选
精选理由
内容详实,提供了具体的升级方法、修复效果统计以及 AI 集成案例,但主要针对已有 Ruff 使用经验的开发者。
AI 点评
「对于 Python 开发者来说,这是一个不容错过的更新信号。Ruff 的默认规则大幅增加意味着我们不能再忽视代码中潜在的问题,而 AI 修复工具正好可以降低升级成本。尤其值得关注的是 Astral(OpenAI)正在将 AI 编码能力与静态分析工具深度整合,这可能是未来工程实践的常态。」
速览
Ruff Python 代码检查工具发布 v0.16.0,新增413条默认规则(原仅59条),可自动捕获语法错误、运行时错误等严重问题。作者在其三个主要项目(Datasette、sqlite-utils、LLM)上运行后修复了数千个问题,建议开发者使用 `uvx ruff@latest check .` 快速检查,并利用 AI 编码助手(如 Codex、Claude Code)辅助修复。该更新由 OpenAI 旗下 Astral 团队推出,标志着 Python 工程实践的重大演进。
- 默认启用规则数从59条增至413条,覆盖更多严重错误
- 作者使用 `ruff --fix --unsafe-fixes` 批量修复了1538个错误
- 利用 GPT-5.6 和 Claude Opus 5 的 AI 编码助手辅助修复
- 建议开发者立即检查并更新 CI 配置
正文
"ruff" dev dependency.
来自Brent Westbrook的公告帖子:
Ruff 现在默认启用413条规则,相比之前的版本增加了59条。 自Ruff的默认规则集上次在v0.1.0中修改以来,Ruff中的规则数量已从708条增长到968条。其中许多规则会捕获严重问题,包括语法错误和即时运行时错误,但以前默认并未启用。通过新的规则集,Ruff将在无需任何Ruff配置的情况下,让您注意到这些问题以及许多其他问题。
这里有一行命令,可以在任何Python项目上尝试:
uvx ruff@latest check .
我在我的三个最大项目——Datasette、sqlite-utils和LLM——上运行了最新的Ruff,它发现了数百个违反新默认规则的小问题。
所有三个项目都有非常全面的测试套件,在CI中针对Python 3.10到Python 3.14执行,因此像这样的升级非常安全。以下命令完成了大部分升级工作:
uvx ruff@latest check . --fix --unsafe-fixes
针对sqlite-utils,该命令报告:
Found 1618 errors (1538 fixed, 80 remaining).
作为一个说明性示例,以下是剩余问题中的三个。Ruff很好地解释了每一个:
DTZ005 `datetime.datetime.now()` called without a `tz` argument
--> tests/test_duplicate.py:17:10
|
15 | "datetime_col" TEXT)""")
16 | # Insert one row of mock data:
17 | dt = datetime.datetime.now()
| ^^^^^^^^^^^^^^^^^^^^^^^
18 | data = {
19 | "text_col": "Cleo",
|
help: Pass a `datetime.timezone` object to the `tz` parameter
BLE001 Do not catch blind exception: `Exception`
--> tests/test_plugins.py:16:12
|
14 | db.execute("select * from pragma_function_list()")
15 | return True
16 | except Exception:
| ^^^^^^^^^
17 | return False
18 | finally:
|
B018 Found useless attribute access. Either assign it to a variable or remove it.
--> tests/test_update.py:46:5
|
44 | def test_update_invalid_pk(fresh_db, pk, update_pk):
45 | table = fresh_db["table"]
46 | table.insert({"id1": 5, "id2": 3, "v": 1}, pk=pk).last_pk
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
47 | with pytest.raises(NotFoundError):
48 | table.update(update_pk, {"v": 2})
|
毫不奇怪,鉴于Astral的在OpenAI的新家,这个输出提供了编码代理修复问题所需的一切。
我让Codex(GPT-5.6 Sol high)升级LLM和sqlite-utils,以及Claude Code(使用Opus 5)升级Datasette。
相关条目
92
精选OpenRouter 推出提示缓存与粘性路由,大幅降低多轮对话成本
对于高频调用 AI API 的开发者,这个功能堪称直接省钱利器。粘性路由保证了缓存命中率,配合 session_id 零配置接入,值得所有使用 OpenRouter 的团队立即尝试。
91
精选ChatGPT Work:可在跨应用和文件中执行操作的AI Agent
我认为这是AI助手从问答走向执行的关键一步。对需要自动化复杂工作流的专业人士尤其值得关注。ChatGPT Work可能成为生产力工具的新范式。
90
精选前沿实验室代理入侵事件技术时间线:2026年7月事件剖析
这篇技术时间线值得所有AI安全研究员和代理开发者细读——它不只是描述一次攻击,而是为整个行业敲响了代理系统防御体系薄弱的警钟。对正在部署自主代理的团队来说,这是必读的灾难预防手册。
90
精选更好的工具反而让Copilot代码审查更糟?GitHub这样改进
这篇博客值得所有AI产品工程师和ML从业者仔细阅读——它打破了'更强大的工具=更好的AI'的直觉,转而强调与Agent推理模式匹配的工程哲学。对正在优化代码审查或类似Agent产品的团队尤其重要。
88
精选OpenRouter 推出统一多模态 API:单端点支持图像、视频、音频、嵌入与转录
这条消息值得所有做多模态AI应用的开发者关注:OpenRouter用联合API解决了模型切换的痛点,特别适合初创团队或快速原型开发。如果你正被多个API密钥和SDK折磨,这个接口可能是你需要的统一层。
87
精选Anthropic 推出 Claude for Teachers:面向教师的教育 AI 工具
这条消息对教育工作者和AI行业观察者都很有价值。Anthropic没有选择通用聊天机器人,而是专门为教师设计了安全可控的工具,这显示出AI在垂直场景落地的正确思路——不是技术炫技,而是切实解决用户痛点。同时,产品内置的安全护栏也值得其他AI公司参考,尤其是在面向儿童或青少年的场景中。
86
精选OpenRouter发布全新Auto Router:用市场智慧优化模型路由
这条更新值得所有用API开发AI应用的人关注。以前选模型靠经验和测试,现在市场数据帮你选。虽然细节不多,但方向很对。对依赖聚合模型服务的团队尤其重要。
86
精选Claude Code v2.1.211 发布:多项修复与改进
作为一个经常使用 Claude Code 进行自动化编码的开发者,我特别关注这次的安全修复,尤其是权限预览字符绕过和自动模式覆盖钩子决策的问题——这些直接关系到团队协作时的安全边界。后台代理报告的改进也让长时间运行的任务更可靠。建议所有使用者尽快升级。