Python 潮流周刊#25:性能最快的代码格式化工具 Ruff!
你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。标题取自其中一则分享,不代表全部内容都是该主题,特此声明。
本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职业和副业的收入。
微信 | 博客 | 邮件 | Github | Telegram | Twitter
本周刊归档在 Github 上,已收获 800+ star 好评,如果对你有帮助,请给颗 star 支持一下吧:https://github.com/chinesehuazhou/python-weekly
文章&教程
1、Ruff:一款极其快、兼容 Black 的 Python 格式化工具
我在今年 4 月份介绍过 性能最快的代码分析工具 Ruff,当时发现它不局限于 Linter 的定位,还提供了部分 Formatter 的功能。现在,它发布了重大更新,正式成为性能最快的 Python 代码格式化工具,比 Black 快 30 倍以上,比 YAPF 快 100 倍!

Python 3.12 已经发布了,你是否迫切想要升级了呢?现在是最佳的升级到 3.12 的时候么?文章建议你等到 12 月,等发布 3.12.1 错误修复版本后,因为新版本存在这些问题:不兼容的软件包、缺少二进制包、每次大版本总有大量的问题要修复。
作者认为 3.12 对于 Python 的意义,大于 3.5 的“async/await” 和 3.6 的 “Type Hint” 对于 Python 的意义!主要分析了三个方面提升:PEP-669 带来的可观测性、PEP-684 为 non-GIL 带来的性能提升、PEP-697 全新 C API 保证跨版本兼容性。
作者给了两个建议:不要使用 pip 和 requirements.txt 来管理 Python 依赖项,推荐使用 Poetry。pip 的主要问题是没有 lockfile 和手工管理虚拟环境麻烦。除了 Poetry,作者也提及了 Hatch 和 PDM。
Django 提供了一个默认的后台管理系统,即 Django Admin,它的 UI 很多年没有变化,显得设计过时了。为什么 Django 维护者们不改善它呢?作者通过询问多位维护者,得出了它的历史及如此设计的原因,主要观点是 Django Admin 面向内部管理员,不应该暴露给终端用户。

PyOxidizer 作者的一篇长文,他在将 Python 3.12 用于另一个库时,CI 运行python setup.py 提示 setuptools 无法导入。作者在寻求解决方案时,发现 Python 的打包生态非常让人困惑,他经历了一系列复杂而耗时的过程。
Ptpython 是一个功能丰富且对用户友好的 Python REPL,这是一篇非常详细的使用教程。重点介绍的功能包括历史记录、输入验证、自动补全、自动处理缩进、自定义交互式 shell、在脚本中嵌入 ptpython 等。
8、100%的测试覆盖率是不够的:Python 中基于属性的测试
测试覆盖率固然重要,但这项指标并不足以解决所有问题。文章通过示例揭示测试覆盖率的不足,简单介绍了如何用 Hypothesis 作基于属性的测试。
9、从零开始编写一个 Python 异步 ASGI Web 框架
从零开始编写一个异步 ASGI Web 框架难么?需要了解哪些知识、实现哪些功能、思考哪些问题?这篇循序渐进的教程是很好的学习材料,让你了解 Web 框架设计、异步编程、功能封装与项目管理。

不在日志中打印明文密码是安全需求,但是有太多可能出现打印密码的情况,如何能高效地隐藏明文密码呢?文章介绍了基于 logging 模块的两种实现方案:自定义 filter 和自定义 formatter,使用特定规则过滤明文密码。
monorepo 是将所有项目都放到一个代码仓管理,可能包含不同语言和框架。这意味着对它的依赖管理和 CI/CD 等都与普通代码仓不同。文章介绍如何使用 GitHub Actions 作为 CI/CD 工具构建简单的 Python monorepo。
我们通常习惯将 Python 称为一种解释型语言,因为它在运行时逐行解释和执行代码。很多人还知道 Python 其实也有编译的过程,解释器会先编译再执行。然而作者不止步于此,他通过苏格拉底式对话和几轮实验,引导读者重新思考“解释”与“编译”:它们是错误的二分法、限制了编程语言的可能性。Python 既是解释型语言,也是编译型语言!
Python潮流周刊已免费发布了 25 期,访问下方链接,即可查看全部内容:https://pythoncat.top/tags/weekly
周末不休息,又更新了一期周刊,我想明天喝杯奶茶了~~

️项目&资源
1、ccxt:加密货币交易 API,支持 100 多个交易所
用于加密货币交易的 JavaScript/Python/PHP/C# 库,支持许多比特币/以太币/山寨币交易市场和商家 API。(star 29.5K)
这个项目是 DjangoCon US 2023 的演示项目,使用单文件不到 10 行代码,演示一个最小的 Django 应用。
基于 Starlette 和 Pydantic 之上构建的开箱即用的 Web 框架,用于构建现代可扩展的 API 应用,支持同步和异步,提供 DAO、ORM、ODM、依赖注入、权限管理等功能。

4、Python-Type-Challenges:通过在线挑战来学习 Python 类型提示
一个很有意思的项目,它包含从初级到高级的一系列挑战题目,让你在线练习 type hint 的使用。
可生成 OpenAPI http 服务端,内置 Prometheus 指标,提供结构化日志记录,支持多种语言代码生成。
一款高级的 Python 反混淆器,面向恶意软件分析师和逆向工程师,它拥有精美的 UI 和一些高级功能。
非常非常丰富的公共 API 清单,内容应有尽有。(star 2K)
阿里达摩院开源的语音识别工具包,功能包括语音识别(ASR)、语音端点检测(VAD)、标点恢复、语言模型、说话人验证、说话人分离和多人对话语音识别等。(star 1.2K)
9、XHS_Downloader: 小红书图文/视频作品采集工具
支持采集和下载小红书图文/视频作品,支持批量下载,有作品文件完整性处理机制。

10、RSS-GPT:使用 ChatGPT 为你的 RSS 订阅源生成摘要
使用 GitHub workflow 自动运行一个简单的 Python 脚本,调用 OpenAI API 为 RSS 订阅源生成摘要,然后将新生成的 RSS 订阅源推送到 GitHub Pages。配置简单快速,无需服务器。
用于检查源代码中拼写错误的单词,支持多种运行方式,可指定忽略单词和文件,可用于 pre-commit。(star 1.5K)
具有 70 亿参数,在五千亿 Tokens 进行了训练,上下文窗口长度为 8192。在权威的代码评估Benchmark 上,CodeShell 取得同等规模最好的性能。(star 1.2K)
赞助&支持
如果你喜欢周刊,请分享给其他需要的同学,让更多人可以从中受益~
如果你想帮助周刊办得更好,欢迎向我们投稿或提出建议:投稿/建议通道
如果你是品牌方或广告主,欢迎私信我,洽谈赞助与合作事项。
欢迎订阅
- 微信公众号:除更新周刊外,还发布其它原创作品,并转载一些优质文章。(可加好友,可加读者交流群)
- 博客 及 RSS:我的独立博客,上面有历年原创/翻译的技术文章,以及从 2009 年以来的一些随笔。
- Github:你可以获取本周刊的 Markdown 源文件,做任何想做的事!
- 邮件:在 Substack 上开通的频道,满足你通过邮件阅读时事通讯的诉求。
- Telegram:除了发布周刊的通知外,我将它视为一个“副刊”,补充发布更加丰富的资讯。
- Twitter:我的关注列表里有大量 Python 相关的开发者与组织的账号。
Python 潮流周刊#25:性能最快的代码格式化工具 Ruff!的更多相关文章
- 性能最快的代码分析工具,Ruff 正在席卷 Python 圈!
几天前,Python 开源社区又出了一个不小的新闻:HTTPX 和 Starlette 在同一天将在用的代码分析工具(flake8.autoflake 和 isort)统一替换成了 Ruff. HTT ...
- 小测几种python web server的性能
http://blog.csdn.net/raptor/article/details/8038476 因为换了nginx就不再使用mod_wsgi来跑web.py应用了,现在用的是gevent-ws ...
- Python 优化第一步: 性能分析实践 使用cporfile+gprof2dot可视化
拿来主义: python -m cProfile -o profile.pstats to_profile.py gprof2dot -f pstats profile.pstats |dot -Tp ...
- python测试mysql写入性能完整实例
这篇文章主要介绍了python测试mysql写入性能完整实例,具有一定借鉴价值,需要的朋友可以参考下 本文主要研究的是python测试mysql写入性能,分享了一则完整代码,具体介绍如下. 测试环境: ...
- Python编程规范及性能优化(转载)
转载地址:http://codeweblog.com/python编程规范及性能优化/
- Python天天美味(25) - 深入理解yield
Python天天美味(25) - 深入理解yield - CoderZh - 博客园 Python天天美味(25) - 深入理解yield yield的英文单词意思是生产,刚接触Python的时候 ...
- Python多线程和多进程谁更快?
python多进程和多线程谁更快 python3.6 threading和multiprocessing 四核+三星250G-850-SSD 自从用多进程和多线程进行编程,一致没搞懂到底谁更快.网上很 ...
- python函数式编程,性能,测试,编码规范
这篇文章主要是对我收集的一些文章的摘要.因为已经有很多比我有才华的人写出了大量关于如何成为优秀Python程序员的好文章. 我的总结主要集中在四个基本题目上:函数式编程,性能,测试,编码规范.如果一个 ...
- Python 读取图像文件的性能对比
Python 读取图像文件的性能对比 使用 Python 读取一个保存在本地硬盘上的视频文件,视频文件的编码方式是使用的原始的 RGBA 格式写入的,即无压缩的原始视频文件.最开始直接使用 Pytho ...
- Python自动化测试面试题-性能篇
目录 Python自动化测试面试题-经验篇 Python自动化测试面试题-用例设计篇 Python自动化测试面试题-Linux篇 Python自动化测试面试题-MySQL篇 Python自动化测试面试 ...
随机推荐
- 2023年郑州轻工业大学校赛邀请赛zxy
第一次组队和大家去外校打比赛,真的是一次很棒的体验,尽管结果不尽人意,但总之收获颇丰,也认识到自身更多的不足. 本次比赛是三人一队,一台电脑,一分纸质试题,我们三人开始先从第一题开始,这题看起来还行, ...
- Blazor提取出Razor类库,没有css的class的智能提示
最开始从stackoverflow上找到了答案,有两种办法,但都不太理想 后来自己找了新的办法,其实很简单,把要用的css复制到Razor类库的wwwroot文件夹中,默认是不会复制到引用Razor类 ...
- C#解析匿名JSON数据
C#解析匿名JSON数据 使用工具:Newtonsoft.Json 使用方式: //模拟数据 var jsonData = JsonConvert.SerializeObject(new { Name ...
- ch-manager.sh
[root@dev-clickhouse1 ~]# cat ch-manager.sh #!/bin/bash ch_arr=(ch1-shard1-main ch1-shard2-sub ch2-s ...
- 最新基于nonebot的qq机器人搭建
导读 核心资源 ( 参考各项目到各自release下载 NoneBot简介 | go-cqhttp 帮助中心qq登录需要包签名,要自己部署 https://github.com/fuqiuluo/un ...
- asp.net core之Host
Host简介 在ASP.NET Core中,Host是一个托管应用程序的宿主环境.它提供了一种统一的方式来启动和运行应用程序,无论是在开发环境中还是在生产环境中.Host负责处理应用程序的生命周期.配 ...
- 双URL编码绕过WAF
一般编码一次是%5c. 但攻击者怕这个会被认出来,所以用二次编码,把%本身编码成%25.再和后边拼成%255c. 如果URL解码器有缺陷,只不断重复"从前边开始解析"这个步骤,就会 ...
- 用 Python 自动创建 Markdown 表格 - 每天5分钟玩转 GPT 编程系列(4)
目录 1. 他们居然问我要 Prompts 2. 让 GPT-4 来写代码 2.1 我对 DevChat 说 2.2 DevChat 回答 2.3 我又对 DevChat 说 2.4 DevChat ...
- quarkus依赖注入之十:学习和改变bean懒加载规则
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇是<quarkus依赖注入> ...
- Json 基于类 Newtonsoft.Json.Linq.JToken 的应用简介【C# 基础】
〇.前言 在日常开发中,对于 Json 的使用还是比较频繁的,特别是 Json 对象和字符串或者实体对象之间的转换. 虽然几乎天天用,但是总是感觉没那么明了,今天结合微软的 Newtonsoft.Js ...