你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。本周刊开源,欢迎投稿。另有电报频道作为副刊,补充发布更加丰富的资讯,欢迎关注。

🦄文章&教程

Python 3.13 将引入一个 copy-and-patch JIT 编译器,这项新功能尽可能地利用了 LLVM 生态的东西,编译器用 clang,编译参数开 -o3 获取最大的性能,二进制工具用 llvm-objdump 和 llvm-readelf,方案可谓是又新又好。(附:Python JIT 编译器 - 即时编译 ,分析了主流的 Python JIT 编译器的优缺点(如 PyPy、Numba 和 Cython))
如何用 Python 读取 Excel 文件?文章从速度、类型、正确性三个维度,分别用 Pandas、Tablib、Openpyxl、LibreOffice、DuckDB 和 Calamine 读取 Excel,得出了性能上的排名。
Python库读取Excel性能对比
Flask 是强大且灵活的 Web 框架,这篇入门教程介绍了如何设置 Flask 项目、开发入门级项目、使用蓝图添加多页面、使用 Jinja 模板、存储静态文件等内容。
余弦相似度是机器学习和信息检索中广泛使用的指标,文章以它为例,介绍了一些底层优化方法,从纯 Python 版本开始,Numpy 导致性能变慢、Scipy 提升 2-5x、C 语言提升 200x、SIMD 内部函数提升 400x、结合 AVX-512 与 BMI2 后 747x、增加 AVX-512FP16 后升至 1260x、使用 AVX-512VNNI 提升 2521x。
Stable Diffusion XLMidjourney v6 等最新的 AI 模型可以生成极其逼真的图像,人眼已经越来越难以分辨真假。作者训练了一个能够检测 AI 生成图像的分类器,可获得 99% 准确率的结果。
作者敏锐地发现 sum、all、any 和 math.prod 几个函数在入参为空列表时,都有恰当的默认值,然而 maxmin 函数却会报错!作者认为它应该等于负无穷大,你们怎么看?
Appium 是常用的 Android UI 自动化测试工具,文章出自一个 Appium 自动化测试系列教程。
如何给 Django 应用添加异步的实时事件?不使用 Redis,使用 Django 最新的异步特性。文章演示开发了一个极简的 Web 端即时通讯应用。
Python 有哪些常用的数值数据类型?它们有哪些特点,CPython 内部是如何实现的?文章介绍了整数、浮点数和复数类型,以及 math、decimal 和 fractions 三个模块。(附:PEP-3141—数字的类型层级
如何在 asyncio 程序中实现非阻塞记录日志?文章介绍了如何用共享的 QueueQueueHandler 来记录日志,并使用 QueueListener 来存储日志。
Instagram 在 2010-2011 年从 0 到 1400 万用户,那时仅仅有 3 名工程师!他们用了什么技术栈,有什么成功经验可给我们借鉴的?文章介绍了它使用到的相关技术和实现方案。
Instagram早期架构解析图
Google 设计出 Starlark 旨在取代 Python 作为构建描述语言,语法非常相似。这份文档说明了它的一些设计原则,以及跟 Python 语言的诸多差异,比如它的布尔值不是整数、字符串不可迭代、没有“is”运算符、for/if 语句不允许在函数外部使用,等等。
文章出自正在连载的免费在线电子书《数据工程设计模式》(Data Engineering Design Patterns)。数据工程经历了 SQL、维度建模、商业智能和大数据、MapReduce 和 Hadoop、云革命等阶段。
🎁Python潮流周刊🎁每 30 期为一季,第一季的精华内容已整理成一篇,方便你随时查看。在线访问地址:Python 潮流周刊第一季精华合集(1~30)

🐿️项目&资源

简单快速实现对文件的监听,使用 Rust 的Notify 库处理底层文件系统通知,支持同步和异步监听处理。(star 1.4K)
from watchfiles import watch

for changes in watch('./path/to/dir'):
    print(changes)
hy 是 Python 的一种替代语法,与 Python 相比,它提供了各种额外的功能、泛化和语法简化。与其它 Lisp 相比,它提供了对 Python 内置和第三方库的直接访问。(star 4.7K)
使用 Rust 开发的工具,可构建运行时自启动的 Python 应用程序,为每个平台构建独立的二进制包。
提供了 URL 类,可便利解析和修改 URL,支持通过属性方式访问 url 的每个部分。(star 1K)
自动生成 API 接口规范文档,支持 OpenAPI 规范(即 Swagger 规范),与框架无关,内置对marshmallow 的支持。(star 1.1K)
简单的对象序列化库,与 ORM/ODM/框架无关,可用于验证输入数据、序列化与反序列化,提供有丰富的字段类型,支持多种数据格式。(star 6.8K)
单链接网站(one-link website)适合用作个人主页,这个网站模板使用 Github Pages 部署,让你轻松省力地构建美观的个人主页。
简化文档类的处理操作,支持身份验证和授权、列表权限控制、文档的增删改查、文档预览、版本控制等。
国人作品。利用 ChatGPT 根据你的简历和某招聘网站的职位描述,自动匹配和生成求职信息,自动发送给招聘人员。求职寒冬季,祝你好运!
简化的 Hacker News 阅读客户端,没有登录、投票、发布等功能,支持查看用户和评论信息。
命令行中的Hacker News阅读器
实现了对 Mixtral-8x7B 模型的高效推理,需要大约 16 GB 的 VRAM 和 11 GB 的 RAM。(star 1.4K)
文件的数据被覆盖或删除了,还能找回么?这是一个 Linux 上的文件&数据恢复工具,支持文本搜索,支持交互式操作。(star 1.1K)
在移动设备上运行的多模态视觉语言模型 (MMVLM),有 1.4B 和 2.7B 参数规模,在高通骁龙 888 CPU 和 NVIDIA Jeston Orin GPU 上分别获得每秒 21.5 个 token 和 65.3 个 token 的优秀性能。
MobileVLM的架构图

🐢播客&视频

独立开发者怎么做技术选型?为什么图拉鼎会用 Python 作为自己项目的后端语言?(附:两年前的另一期播客 ByteTalk 3. 跟图拉鼎聊聊独立开发者的那些事
以面向 Python 开发者的视角来对比和学习 Rust 编程,介绍了主要特性的差异(比如 Python 的类和 Rust 的 struct)。

🐼欢迎订阅

本周刊已持续连载一年,更新内容接近 10 万字。我为此投入了大量的时间和精力,为了健康可持续性的发展,现在正考虑将周刊转为收费模式。周刊的发展离不开你们的资助,欢迎订阅我的小报童专栏。前 100 名订阅者可享受 8 折优惠,请点击领取: 优惠券