index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html
![]()
本期 Python 潮流周刊分享了有关 Python 3.13 的 JIT 方案、Python 读取 Excel 文件的最快方法、Flask 教程、余弦相似度运算优化、AI 检测 AI 生成照片、Python 内置函数 max 问题、Appium 自动化测试、Django 实时消息应用、Python 数值数据类型、非阻塞的 Asyncio 日志记录、Instagram 技术栈、Google 设计的 Starlark 语言、数据工程的历史和现状等内容。同时还推荐了一些优秀的项目和资源,如 watchfiles、hy、pyapp、yarl、apispec、marshmallow、jake、docflow、auto_job__find__chatgpt__rpa、oshit、mixtral-offloading、RecoverPy、MobileVLM 等。
🤔 **Python 3.13 的 JIT 方案**
Python 3.13 将引入一个 copy-and-patch JIT 编译器,该编译器尽可能地利用了 LLVM 生态的东西,包括 clang 用于编译、-o3 编译参数用于获取最大性能、llvm-objdump 和 llvm-readelf 用于二进制工具。这是一种新颖且高效的方案。文章还分析了主流的 Python JIT 编译器的优缺点,例如 PyPy、Numba 和 Cython。
🚀 **余弦相似度运算优化**
文章以余弦相似度为例,介绍了从纯 Python 版本到利用 AVX-512VNNI 技术优化后的性能提升过程。从纯 Python 版本开始,通过 Numpy、Scipy、C 语言、SIMD 内部函数、AVX-512 与 BMI2 结合、AVX-512FP16 以及 AVX-512VNNI 的逐步优化,最终实现了 2500 倍的性能提升。
💡 **Instagram 技术栈**
文章介绍了 Instagram 在 2010-2011 年从 0 到 1400 万用户期间使用到的技术栈和成功经验,包括使用 Python 和 Django 作为后端框架、使用 MySQL 作为数据库、使用 Memcached 和 Redis 作为缓存、使用 Amazon S3 作为存储等。
🌐 **Google 设计的 Starlark 语言**
Google 设计出 Starlark 旨在取代 Python 作为构建描述语言,语法非常相似。文章说明了 Starlark 的设计原则,以及它与 Python 语言的诸多差异,例如它的布尔值不是整数、字符串不可迭代、没有“is”运算符、for/if 语句不允许在函数外部使用等。
📚 **数据工程的历史和现状**
文章介绍了数据工程的发展历程,从 SQL、维度建模、商业智能和大数据、MapReduce 和 Hadoop、云革命等阶段,概述了数据工程领域的发展趋势。
📦 **优秀项目和资源**
本期推荐了多个优秀的项目和资源,包括用于文件监听和代码重新加载的 watchfiles、嵌入在 Python 中的 Lisp 方言 hy、Python 应用的运行时安装器 pyapp、URL 解析工具 yarl、API 规范生成器 apispec、对象序列化库 marshmallow、单链接网站模板 jake、文档管理 API docflow、自动投简历助手 auto_job__find__chatgpt__rpa、命令行终端的 Hacker News 客户端 oshit、Mixtral-8x7B 模型推理工具 mixtral-offloading、文件恢复工具 RecoverPy、移动设备视觉语言助手 MobileVLM 等。
你好,我是猫哥。这里每周分享优质的 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,得出了性能上的排名。
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 XL 和 Midjourney v6 等最新的 AI 模型可以生成极其逼真的图像,人眼已经越来越难以分辨真假。作者训练了一个能够检测 AI 生成图像的分类器,可获得 99% 准确率的结果。
作者敏锐地发现 sum、all、any 和 math.prod 几个函数在入参为空列表时,都有恰当的默认值,然而 max 和 min 函数却会报错!作者认为它应该等于负无穷大,你们怎么看?
Appium 是常用的 Android UI 自动化测试工具,文章出自一个 Appium 自动化测试系列教程。
如何给 Django 应用添加异步的实时事件?不使用 Redis,使用 Django 最新的异步特性。文章演示开发了一个极简的 Web 端即时通讯应用。
Python 有哪些常用的数值数据类型?它们有哪些特点,CPython 内部是如何实现的?文章介绍了整数、浮点数和复数类型,以及
math、decimal 和 fractions 三个模块。(附:
PEP-3141—数字的类型层级)
如何在 asyncio 程序中实现非阻塞记录日志?文章介绍了如何用共享的 Queue 和 QueueHandler 来记录日志,并使用 QueueListener 来存储日志。
Instagram 在 2010-2011 年从 0 到 1400 万用户,那时仅仅有 3 名工程师!他们用了什么技术栈,有什么成功经验可给我们借鉴的?文章介绍了它使用到的相关技术和实现方案。
Google 设计出 Starlark 旨在取代 Python 作为构建描述语言,语法非常相似。这份文档说明了它的一些设计原则,以及跟 Python 语言的诸多差异,比如它的布尔值不是整数、字符串不可迭代、没有“is”运算符、for/if 语句不允许在函数外部使用,等等。
文章出自正在连载的免费在线电子书《数据工程设计模式》(Data Engineering Design Patterns)。数据工程经历了 SQL、维度建模、商业智能和大数据、MapReduce 和 Hadoop、云革命等阶段。
?️项目&资源
简单快速实现对文件的监听,使用 Rust 的Notify
库处理底层文件系统通知,支持同步和异步监听处理。(star 1.4K)
from watchfiles import watchfor 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 阅读客户端,没有登录、投票、发布等功能,支持查看用户和评论信息。
实现了对 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 的优秀性能。
?播客&视频
以面向 Python 开发者的视角来对比和学习 Rust 编程,介绍了主要特性的差异(比如 Python 的类和 Rust 的 struct)。
?欢迎订阅