Ruff,一个席卷 Python 圈的库

Ruff:极速的Python代码检查工具 Ruff不仅是一个高效的Python代码检查工具,它还将性能提升到一个全新的高度。无论是个人开发者,还是大型开源项目的维护者,都可以通过Ruff获得更快、更可靠的代码质量检查。如果你还没有尝试过Ruff,赶快来体验这款由Rust编写、旨在极致加速的工具吧! 阅读详情

你好,我是坚持分享干货的 EarlGrey,翻译出版过《Python编程无师自通》、《Python并行计算手册》等技术书籍。

如果我的分享对你有帮助,请关注我,一起向上进击。

今天给大家推荐一款高性能的 Python 语法检查器和代码格式化工具。

这个开源项目就是:Ruff,它是基于 Rust 编写的高性能 Python 代码分析工具(即 Linter),用于检查代码中的语法错误、编码规范问题、潜在的逻辑问题和代码质量问题等,可以提供实时反馈和自动修复建议。

它主打的特性是高性能,宣称比现有的同类工具快 10~100 倍。

cbf880c4a75162d6bc2ea27d056c00da.png

Ruff 核心特性

  • 通过 pip 安装

  • 支持 pyproject.toml

  • 兼容 Python 3.12

  • 超过 700 条内置规则,与 Flake8 内置的规则集近乎对等

  • 重新实现了数十个 Flake8 插件,如 flake8-bugbear、flake8-comprehensions 等

  • 支持自动修复,可自动纠正错误(例如,删除未使用的导入)

  • 内置缓存,可避免重复分析未更改的文件

  • 支持 VS Code、Pycharm、Neovim、Sublime Text、Emacs 等编辑器

  • 对 monorepo 友好,具有分层和级联配置

其中着重的一点是对规则的支持。

Ruff 借鉴了流行的工具如 Flake8、autoflake、isort、pyupgrade、yesqa 等等,然后用 Rust 重新实现了超过 500 条规则。

它本身不支持插件,但是吸收了数十个常用的 Flake8 插件的设计,使得已囊括的规则范围比其它任何工具都大。例如实现了部分flake8的插件。

Python 圈都在用

可能正是因为它的高性能,已经有越来越多的Python开发者转向使用 Ruff了。在Ruff的项目页面上,官方列出的就包括 FastAPI、Bokeh、isort、Zulip 等知名项目作者的力捧。

79d6b916a8fe966733752557a4bd8b25.png

使用 Ruff 做语法检查和格式化的开源项目,更是近百。

补充一下

这里还必须介绍两个 Rust 项目,因为 Ruff 的成功离不开它们:

  • RustPython:用 Rust 写成的 Python 解释器。Ruff 利用了它高性能的 AST 解析器,以此实现了自己的 AST 遍历、访问器抽象和代码质量检测逻辑

  • Maturin:用 Rust 写成的打包工具,可以将 Rust 项目打包成 Python 可用的包,从而可以被我们“pip install”后使用,且不需要配置 Rust 环境

小结

本文为大家推荐了一个高性能的Python语法检查和格式化工具 Ruff,它正在逐渐席卷 Python 圈,得到了众多开源项目的支持。如果你有兴趣的话,不妨也在项目中试用一下吧。😊

- EOF -

文章已经看到这了,别忘了在右下角点个“赞”和“在看”鼓励哦~

推荐阅读  点击标题可跳转

1、Python 项目工程化最佳实践

2、Python 可以比 C 还要快!

3、streamlit,一个超强的 Python 库

4、豆瓣8.9分的C++经典之作,免费送!

5、Python 3.12 版本有什么变化?

回复下方「关键词」,获取优质资源

回复关键词「 pybook03」,领取进击的Grey与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「书单02」,领取进击的Grey整理的 10 本 Python 入门书的电子版

👇关注我的公众号👇

告诉你更多细节干货

911aa0c8c65232b52e3a0d197e7f8915.jpeg

欢迎围观我的朋友圈

👆每天更新所想所悟

Python极速工具Ruff:重塑代码检查与格式化 Ruff是一款基于Rust的高性能Python代码检查与格式化工具,整合了Linter、格式化(兼容Black)和import排序功能。其核心优势包括:极速性能(比Flake8快10-100倍)、开箱即用的800+条规则支持,以及统一的配置文件管理。测试显示,25万行代码检查仅需0.5秒。Ruff已获大型项目(如Pandas、FastAPI)和企业(Netflix、Amazon)采用,并支持主流编辑器集成。虽然暂不支持插件扩展,但其开发团队正计划推出类型检查等新功能。Ruff通过一体化设计和高性能,显著提升 阅读详情

相关推荐

【Ruff 加速俩大最受欢迎的编程语言巨头 Rust 与 Python 的融合 !】性能最快的代码分析工具——Ruff

几天前,Python 开源社区又出了一个不小的新闻:HTTPX 和 Starlette 在同一天将在用的代码分析工具(flake8、autoflake 和 isort)统一替换成了 Ruff。是一个支持异步的 HTTP 客户端,是一个轻量级的 ASGI 框架,它们都是 Python 社区里的明星项目,目前加起来有近 20K star。它们都选择了使用 Ruff,再次扩大了 Ruff 的应用版图。Ruff 是个诞生仅仅 8 个月的新兴项目,但已呈现出一种席卷 Python 社区的趋势!

python03012的博客 1271

Python代码扫描:新一代 Python Linter工具Ruff -极力推荐-快的原因是Rust写的?

Ruff 还可以和Python另一个格式化工具black 一起使用,只需要 line-length有相同配置既可。关于black工具的详细介绍将在后面的文章《Python代码扫描:一键格式化Python代码的黑魔法-black使用教程》中做详细介绍,敬请关注公众号CTO Plus后面的文章。Ruff是一个强大的Python代码检查工具,可以帮助我们发现潜在的问题并提供修复建议。它通过静态分析Python代码来检查代码风格和质量,并生成详细的报告。在代码规范、代码质量、团队协作和持续集成等场景中,Ruff

SteveRocket's-Blog 2508

Rust 开发的 Python 包管理工具,可替换 pip、pip-tools 和 virtualenv

们为 Python 生态系统构建高性能的开发工具。我们最出名的是 Ruff,一个极其快速的 Python linter 和格式化工具。(译注:对 Ruff 的介绍 性能最快的代码分析工具,Ruff 正在席卷 Python 圈!今天,我们发布了 Astral 工具链中的下一个工具:uv,一个用 Rust 开发的高性能的 Python 包解析器和安装器。图注:使用热缓存来解析(左)和安装(右)Trio 依赖项,以模拟重新创建虚拟环境或向现有项目添加依赖项。

wjianwei666的专栏 1400

Python 的Ruff

Ruff是一个用于 Python 代码的静态分析工具,旨在提供高效的代码质量检查和格式化功能。它可以帮助开发者自动检测和修复代码中的常见问题,如风格不一致、语法错误、未使用的变量等。Ruff类似于其他 Python 代码质量工具,如Flake8pylintblack等,但它的设计目标是更快、更轻量,并且集成了多种工具的功能。

m0_63372012的博客 1043

2026年AI时代五大编程语言:Python、Rust、TypeScript、Julia、Mojo学习指南

在人工智能技术快速发展的背景下,编程语言的选择直接影响开发效率和系统性能。从技术演进的底层逻辑来看,数据处理与科学计算能力、系统性能与资源控制、工程化协作支持以及生态融合能力成为AI时代对编程语言的核心要求。这些技术价值体现在AI原生应用开发、边缘智能部署和高可靠系统构建等关键场景中。Python凭借其成熟的科学计算生态,在AI算法研究和原型开发中占据主导地位,而Rust则通过内存安全和零成本抽象特性,为系统级AI工程提供了可靠解决方案。TypeScript的静态类型系统为大型AI应用工程提供了稳定保障,J

weixin_29574585的博客 258

Ruff:Python圈的最快代码分析工具!

如果你是一位后端开发者,不妨尝试使用Ruff来优化你的Python代码,提升应用程序的性能表现吧!Ruff是一个基于Python的代码分析工具,它专注于提供快速而准确的代码分析和性能优化。Ruff的设计目标是通过静态分析和动态追踪相结合的方式,帮助开发者发现代码中的瓶颈,并提供针对性的优化建议。通过使用Ruff,开发者可以快速定位代码中的性能瓶颈,并获得针对性的优化建议。我们想要分析这段代码的性能,并找出其中的优化点。通过对代码的优化,我们将递归调用转换为迭代计算,避免了重复计算的问题。

BbflNim的博客 726

性能最快的代码分析工具,Ruff 正在席卷 Python 圈!

几天前,Python 开源社区又出了一个不小的新闻:HTTPX 和 Starlette 在同一天将在用的代码分析工具(flake8、autoflake 和 isort)统一替换成了 Ruff。

2201_75362610的博客 630

C#教程

C# 教程 C# 是一个简单的、现代的、通用的、面向对象的编程语言,它是由微软(Microsoft)开发的。 本教程将告诉您基础的 C# 编程,同时将向您讲解 C# 编程语言相关的各种先进理念。 现在开始学习 C#! C# 在线工具 谁适合阅读本教程? 本教程有助于初学者理解基础的 C# 编程。在学习完本教程后,您将到达一个中级的 C# 编程水平。

zm1_1zm 1万+

Rust 开发的高性能 Python 包管理工具,可替换 pip、pip-tools 和 virtualenv

uv是一个极其快速的 Python 包安装器和解析器,用 Rust 编写,旨在作为 pip 和 pip-tools 工作流的替代品。它代表了我们追求“Python 的 Cargo”的里程碑:一个全面、快速、可靠且易于使用的 Python 项目和包管理器。作为此次发布的一部分,我们还将接管 Rye,这是 Armin Ronacher 开发的一个实验性 Python 打包工具。我们将维护它,直到我们将 uv 扩展成统一的后继项目,以实现我们对 Python 打包的共同愿景。

Gefangenes的博客 986

【Ensp】FTP服务器设置和FTP解析

大部分的多媒体多媒体应用协议,如SIP,FTP,NetMeeting协议等,使用约定的固定端口来初始化一个控制连接,再动态地选择端口用于数据传输,并且这些端口选择是不可预测的。在防火墙设置时,可以通过ASPF(应用层报文过滤)中的Server Map表来满足多通道协议的正常工作,它正常检测应用层报文信息,并动态地根据报文内容创建和删除临时的Server Map表项,以允许其它非约定端口通过防火墙。(5)我们可以在路由器或能访问ftp服务器的设备上,通过cli命令行的方式来访问ftp服务器。

进击的小小白 1863

保姆级教程:用安卓手机+IP摄像头App,5分钟搭建一个免费的RTSP监控测试环境

本文提供了一份详细的保姆级教程,教你如何利用安卓手机和IP摄像头App在5分钟内搭建免费的RTSP监控测试环境。通过零成本方案,开发者可以快速获取实时视频流,适用于计算机视觉、物联网开发等多种场景。教程涵盖工具选型、配置详解、电脑端测试及OpenCV集成,助你高效完成开发测试。

weixin_27419879的博客 277

用 Rust 开发的 Python 包管理工具,可替换 pip、pip-tools 和 virtualenv

△△请给“Python猫”加星标,以免错过文章推送最近,我在 Python 潮流周刊 中分享了一个超级火爆的项目,这还不到一个月,它在 Github 上已经拿下了 8K star 的亮眼成绩,可见其受欢迎程度极高!国内还未见有更多消息,我趁着周末把一篇官方博客翻译出来了,分享给大家。作者:@charliermarsh译者:豌豆花下猫@Python猫英文:uv: Python packaging ...

Python猫 1088

金蝶云星空核心数据表解析与高效关联查询指南

本文深入解析金蝶云星空核心数据表结构,提供高效关联查询的实战指南。文章详细介绍了基础资料、业务单据和财务模块的关键表及其关联逻辑,重点阐述了如何利用关联表(_LK表)进行跨单据溯源,并分享了编写高性能SQL的实用技巧与避坑建议,帮助开发者、实施顾问和数据分析师快速掌握数据查询方法,提升工作效率。

weixin_29254673的博客 526

Python 猫的 2023 年终回顾

△△请给“Python猫”加星标,以免错过文章推送2023 年是 Python猫 创办的第 5 年,2024 年已经到来了,我们照例做一个简短的年终回顾吧。1、30000 订阅与 200 原创。 2020 的年终总结时,公众号订阅数刚破 20000,3 年后,我们终于也达成了 30K 成就。另外原创文章数也突破了 200 篇。如果你已经关注了,记得加个星标,否则有可能无法及时看到推送。如果你是在...

Python猫 992

振动信号相位测量的关键技术解析

本文深入解析了振动信号相位测量的关键技术,强调相位是振动信号的“身份证”,对于动平衡和故障诊断至关重要。文章详细阐述了键相传感器与振动传感器的选型、安装要点,以及时域和频域(FFT)核心算法,并针对现场噪声、转速波动等挑战提供了实战解决方案,帮助工程师实现精准、稳定的相位测量。

vv45678的博客 839

离散数学期末考试试卷(两套)-熟悉题型

3.设集合A={a,b,c,d}上有自反关系R={,,,,},对称关系S={,,,}。6.设集合A={1,2,3},B={u,v,w},C={a,b,c},f是集合A到集合B上的映射,g是集合B到集合C上的映射,f={, , },g={},则复合函数g。5. 设集合A={a,b,c,d,e},下列选项中哪一个集合不是A的划分( )。

muse3159546973的博客 6960

AI Agent技能质量评估:双轴Review框架从代码规范到智能行为

在软件工程领域,代码审查(Code Review)是保障代码质量、提升可维护性的核心实践,其原理在于通过同行评审发现潜在缺陷与优化点。随着AI Agent(智能体)技术的兴起,传统的代码审查需要扩展维度以评估智能体的“行为质量”。AI Agent的核心价值在于其能理解任务、做出决策并与环境交互,完成从信息处理到自主行动的跨越。其应用场景广泛,涵盖智能客服、自动化流程、个人助理等。本文聚焦的“双轴Review”框架,正是应对这一挑战的系统性方法,它结合了面向代码实现的“写得对”轴(涵盖代码规范、架构设计)与面

weixin_30596735的博客 415

交换机四种光互联技术:OIO、OBO、NPO与CPO

在过去几十年里,数据中心交换机主要依赖电信号通过铜线进行数据传输。然而,随着数据传输速率从100Gbps向400Gbps、800Gbps甚至1.6Tbps迈进,传统电互联(Electrical Input & Output, EIO)面临三大瓶颈:信号衰减、功耗激增和空间限制。例如,高速信号在长距离铜线传输中会产生严重的信号失真,迫使设计者加入数字信号处理器(DSP)来补偿信号衰减,这进一步推高了功耗和成本。此外,传统可插拔光模块的体积较大,限制了端口密度,难以满足现代数据中心对高带宽密度的需求。

网络技术联盟站 3156

python的ruff简单使用

Ruff 是一个用 Rust 编写的高性能 Python 静态分析工具和代码格式化工具。它旨在提供快速的代码检查和格式化功能,同时支持丰富的配置选项和与现有工具的兼容性。是用rust实现的python Linter&Formatter。它可以作为代码检查工具和代码格式化工具使用。代码格式化采用单引号、缩进使用。

田乐蒙的博客 1659

第10集:AIOps 平台架构设计!画出面试官最想看的系统全景图

本文介绍了如何将AIOps平台的六大功能模块整合为四层架构设计,并生成专业系统全景图。文章首先指出面试中架构设计能力的重要性,强调一张清晰的架构图能直观展现全局观。随后指导读者检查项目结构,准备绘图环境。核心部分详细拆解了四层架构:数据采集层(Prometheus、ELK等)、AI分析层(巡检、告警、预测等)、决策执行层(工作流引擎、自愈Agent)和展示交互层(API、控制台)。通过Python代码自动生成模块依赖关系图,并提供了面试讲解技巧。全文旨在帮助开发者在面试中系统性地展示项目架构设计能力。

qq_2937655951的博客 94

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: 越按越上头,按摩师傅要失业了
下一篇: 有人滥用 npm,上传 700 多个武林外传视频
codingpy
博客等级 码龄11年 1873粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值