Ruff v0.16.0
2026年7月25日-链接博客Ruff v0。16. 0.几天前的7月23日,Astral推出了Ruff Python lining工具的重要新版本。我今天注意到,因为由于新的默认Ruff检查和我未固定的“ruff”,我的各种CI作业都开始失败dev依赖性。
来自布伦特·威斯布鲁克的公告帖子: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。--修复--不安全修复针对SQLite-utils,该命令报告:发现1618个错误(修复1538个,剩余80个)。
作为一个说明性例子,以下是剩余的三个问题。拉夫很好地解释了每一个:DTZ 005 '日期时间。日期时间。
now()“在没有“tz”参数的情况下被调用--> tests/Test_duplicate。py:17:10|15 |“datetime_col”文本)““”)16 |#插入一行模拟数据:17 |dt =日期时间。
日期时间。现在()| ^^^^^^^^^^^^^^^^^^^^^^^18 |数据= {19 |“text_col”:“Cleo”,|帮助:传递“约会时间”。时区'对象到'参数BLE 001不捕获盲异常:'异常'--> tests/Test_plugins。
py:16:12|14 |DB.执行(“select * from pragma_function_list()”)15 |返回True16 |例外:| ^^^^^^^^^17 |返回False18 |最后:|B 018发现无用的属性访问。
要么将其分配给变量,要么将其删除。--> tests/Test_Update。
py:46:5|44 |dev Test_Update_invalid_ck(fresh_DB,ck,Update_ck):45 |table = fresh_DB[“table”]46 |表.插入({“id 1”:5,“id 2”:3,“v”:1},ck = ck)。
最后一次峰值| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^47 |使用pytest。
引发(NotFound错误):48 |表.更新(Update_ck,{“v”:2})|毫不奇怪,考虑到Astral在OpenAI的新家,该输出提供了编码代理解决问题所需的一切。我有Codex(GPT-5。
6 Sol High)升级LLM和SQlite-utils,Claude Code(带有Opus 5)升级Datasette。
最近的文章- OpenAI对Hugging Face的意外网络攻击是科幻小说-2026年7月22日- 与Claude Code团队的Cat和Thariq进行炉边聊天-2026年7月21日- Kimi K3,以及我们仍然可以从鹈鹕基准中学到什么-2026年7月16日