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

分享了 12 篇文章,12 个开源项目,1 则音视频,全文 2000 字。

🦄文章&教程

1、PyPI 应该摆脱掉它的赞助依赖

PyPI 每天提供 19 亿次下载,据网友估计,这么大规模流量的成本约为 1200 万美元/年!这由 Fastly 提供赞助。文章作者提出要降低成本,摆脱对赞助的依赖,主要是解决预编译二进制文件的指数级增长问题。

PyPI中二进制文件占比75%

2、创建不分大小写的 Python 字符串类

介绍了如何用双下方法__new__() 来创建不区分大小写的字符串类,实现相等比较、大于小于比较、其它字符串方法的适配(如 upperstartswithsplit)。

3、用 Tree-sitter & Jedi 重构 Python 代码

作者想批量修改函数的一个参数名,介绍了如何用 Tree-Sitter 解析节点,并用 Jedi 实现标识符的重命名。

4、Psycopg 3 如何实现异步到同步代码自动转换?

Psycopg 3 支持同步和异步,为了简化代码提高维护效率,该库作者开发了一个脚本,通过解析 AST,自动将异步代码转换为同步代码,解决了两种模式的代码兼容问题。文章主要介绍了实现原理和关键问题的处理。

5、Python 用代码契约来数绵羊

代码契约(code contract)是用前置/后置条件来规范代码的行为,按预期的方式执行。作者用自己开发的一个 dbc 库,介绍了什么是“design by contract”、如何用 Python 装饰器实现,以及这种编程范式的好处。

6、2024 年对 Oil 项目的回顾

Oil 是一个 Python 开源项目,致力于开发一个现代的 bash,并开发一种全新的 shell 语言。文章是该项目作者最近的阶段回顾,解释为什么项目花了那么长时间,原因包括项目遇到的技术挑战和社会因素问题。

7、驯服 Django ORM 这只野兽

什么是 ORM(对象关系映射)?它有什么优点和缺点?Django ORM 的基础操作有哪些,性能优化技巧和常见陷阱有哪些?

8、用 Python 解决墨尔本大学的 Cat Walk 谜题

Cat Walk 是一个迷宫类的编程题,文章分析了解题思路并给出了详细的实现过程。(附:作者博客上还有其它谜题的文章,比如 解决“黑与白”谜题

9、禁用计划性的依赖项更新

作者在 Github 上维护着很多库,之前使用 Dependabot 和 pre-commit.ci 等工具定期生成更新 PR,但通知太频繁造成了干扰。现开发了gha-update工具,手动更新 GitHub Actions 工作流。

10、用 ipyopenlayers 制作交互式地图

ipyopenlayers 将流行的 JavaScript 库 OpenLayers 集成到 Jupyter Notebook 中,用于创建交互式地图。文章介绍了它的主要特点,演示了如何使用这个库将地理空间数据转化为动态的交互式地图可视化。

11、用 Python 查找 π 中最长的重复序列

在 π 中出现的最长的重复序列有多长?查找较长的重复序列需要花多少内存和时间?文章用 Python 和 C 语言从圆周率的前几千亿个数字中查找最长重复系列,得出了几组有意思的探索数据。

12、在 50 多岁学习编程,我学到了什么?

《英国卫报》上的一篇文章,作者介绍自己为什么在 50 多岁开始学习编程,他学习过 HTML/CSS/JavaScript 却感到失望,最后喜欢上 Python 和它的社区。

🐿️项目&资源

1、SurfSense:万维网冲浪者的个人 AI 助手

将你在网上看到的所有内容保存到个人知识库中,有强大的搜索功能,支持与 Web 浏览记录聊天,支持本地 LLM 和自托管,拥有高级 RAG 技术。

2、peepdb:用于快速检查数据库的工具

轻量级命令行工具和 Python 库,以快速高效的方式检查数据库,无需写 SQL,支持 MySQL、PostgreSQL、MariaDB 和 MongoDB。

3、dante:用 SQLite 实现的 Python NoSQL 数据库

零设置、易于使用的文档数据库,适合于探索性编程、原型设计、内部工具和小型简单项目。基于 SQLite,可存储 Python 字典或 Pydantic 模型,支持同步和异步模式。

4、skrub:为机器学习准备表格

提供了用于连接数据帧、编码列、构建管道的高级工具,目标是为表格数据源与机器学习模型建立桥梁。(star 1.2K)

5、scientific-visualization-book:用 matplotlib 作可视化的开源电子书

一本关于 Matplotlib 的开源书籍,包含 PDF 和代码示例资源。(star 10.6K)

6、minDB:极其节省内存的向量数据库

一个内存要求极低的向量数据库,具有高召回率和低延迟。使用了高度压缩的搜索索引,并结合磁盘重排序。

7、weather_landscape:通过景观图像可视化天气预报

将枯燥的天气预报数据直观呈现在手绘风的景观图上,随时间变化的动图。

8、httpdbg:轻松调试 HTTP 客户端请求

在浏览器中轻松调试 HTTP 客户端请求,查看请求头、cookie、请求和响应等数据。

9、GetQzonehistory:获取 QQ 空间发布的历史说说

通过获取 QQ 空间的历史消息列表,获取该账号下发布的所有说说。

10、Qocker:用于管理 Docker 容器的 GUI 应用

用 PyQt5 开发的 Docker 容器管理工具,可快速访问和启/停/删容器,实时更新容器状态,支持 Windows、macOS 和 Linux。

11、linkding:可自托管的书签管理器

Python 开发的自托管书签管理器,使用标签来管理书签,支持批量编辑、Markdown 笔记、稍后阅读、共享书签、自动添加网站描述、自动存档网站、书签导入导出、支持 PWA、浏览器扩展、SSO 身份验证等功能。

12、wasm2mpy:将 WebAssembly 编译为原生 MicroPython 模块

让静态类型语言写的代码在基于 MicroPython 的嵌入式系统(如 ESP32、Raspberry Pi Pico、STM32 和 nRF52)上运行,具有接近原生的性能。

🐢播客&视频

1、走进 Bento:Meta 的 Jupyter Notebook

这是一则 Meta 技术播客。Bento 是 Meta 内部的 Jupyter Notebook,通过版本控制、协作编辑和自动依赖管理等功能来增强 Jupyter Notebook。

🐧 往年回顾

Python 潮流周刊#21:如何提升及测量 Python 代码的性能?(2023.09.23)

🐱欢迎订阅

技术周刊是聪明人在信息过载时代中筛选优质知识的聪明手段。这是一个专为国内 Python 开发者量身打造的资讯平台,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等丰富内容。立即订阅,每周将收到一篇文章推送,每周进步一点点。

欢迎留言,说说你最喜欢本期的哪一则分享?大家反馈得越多,我今后分享的也会越多!

欢迎将本专栏分享给同样爱学习的同学,当有人通过你分享的海报或者链接,购买了专栏,那么你将获得高额的返利。

Python 潮流周刊第 2 季完结了,分享几项总结

Python 潮流周刊第一季精华合集(1~30)

万字浓缩版,Python 潮流周刊第 1 季的 800 个链接!

🌷关联阅读

上一期:Python 潮流周刊#70:微软 Excel 中的 Python 正式发布!

下一期:Python 潮流周刊#72:Python 3.13.0 最终版已发布!