Py学习  »  Python

Python 潮流周刊#71:PyPI 应该摆脱掉它的赞助依赖

Python猫 • 2 月前 • 76 次点击  

△微信关注Python猫” ,回复“1”领取电子书

这里分享的是 Python 潮流周刊免费开源的往期全文,原文发布于一年前。我们的付费专栏内容在发布一年后会免费开源,不少内容依然值得回看,愿大家读有所获。点击文末“阅读原文”,在网页里查看,体验更佳。

温馨提示:在微信关注 Python猫,发送一个数字“9”,即可领取 9 折优惠券,订阅专栏可享 15 元优惠。订阅后可查看全部已公开和未公开内容!

关注 Python猫后,发一个数字“1”,可免费领取已开源的往季周刊精华合集。

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

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

🦄文章&教程[2]

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

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

PyPI中二进制文件占比75%
PyPI中二进制文件占比75%

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

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

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

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

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

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

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

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

6、2024 年对 Oil 项目的回顾[8]

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

7、驯服 Django ORM 这只野兽[9]

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

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

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

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

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

10、用 ipyopenlayers 制作交互式地图[13]

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

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

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

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

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

🐿️项目&资源[16]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

🐢播客&视频[29]

1、走进 Bento:Meta 的 Jupyter Notebook[30]

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

🐧 往年回顾[31]

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

🐱欢迎订阅 [33]

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

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

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

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

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

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

🌷关联阅读

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

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

参考资料
[1] 

电报频道: https://t.me/pythontrendingweekly

[2] 

🦄文章&教程: https://xiaobot.net/p/python_weekly

[3] 

PyPI 应该摆脱掉它的赞助依赖: https://kristoff.it/blog/python-training-wheels/

[4] 

创建不分大小写的 Python 字符串类: https://mathspp.com/blog/case-insensitive-string-class

[5] 

用 Tree-sitter & Jedi 重构 Python 代码: https://jackevans.bearblog.dev/refactoring-python-with-tree-sitter-jedi/

[6] 

Psycopg 3 如何实现异步到同步代码自动转换?: https://www.psycopg.org/articles/2024/09/23/async-to-sync/

[7] 

Python 用代码契约来数绵羊:  https://colorsofcode.ghost.io/counting-sheeps-with-contracts-in-python/

[8] 

2024 年对 Oil 项目的回顾: https://www.oilshell.org/blog/2024/09/retrospective.html

[9] 

驯服 Django ORM 这只野兽: https://www.davidhang.com/blog/2024-09-01-taming-the-django-orm/

[10] 

用 Python 解决墨尔本大学的 Cat Walk 谜题: https://wondrousnet.blogspot.com/2024/03/solution-to-puzzle-cat-walk.html

[11] 

解决“黑与白”谜题: https://wondrousnet.blogspot.com/2024/09/solution-to-puzzle-black-and-white.html

[12] 

禁用计划性的依赖项更新: https://davidism.com/disabling-scheduled-dependency-updates

[13] 

用 ipyopenlayers 制作交互式地图:  https://blog.jupyter.org/interactive-mapping-with-ipyopenlayers-2b8bc93bb6c4

[14] 

用 Python 查找 π 中最长的重复序列: https://sponaugle.com/wp/math_pi_repeat/

[15] 

在 50 多岁学习编程,我学到了什么?: https://www.theguardian.com/technology/article/2024/aug/31/learning-computer-programming-language-coding-devil-stack-andrew-smith

[16] 

🐿️项目&资源: https://xiaobot.net/p/python_weekly

[17] 

SurfSense:万维网冲浪者的个人 AI 助手: https://github.com/MODSetter/SurfSense

[18] 

peepdb:用于快速检查数据库的工具: https://github.com/PeepDB-dev/peepdb

[19] 

dante:用 SQLite 实现的 Python NoSQL 数据库:  https://github.com/senko/dante

[20] 

skrub:为机器学习准备表格: https://github.com/skrub-data/skrub/

[21] 

scientific-visualization-book:用 matplotlib 作可视化的开源电子书: https://github.com/rougier/scientific-visualization-book

[22] 

minDB:极其节省内存的向量数据库: https://github.com/D-Star-AI/minDB

[23] 

weather_landscape:通过景观图像可视化天气预报: https://github.com/lds133/weather_landscape

[24] 

httpdbg:轻松调试 HTTP 客户端请求: https://github.com/cle-b/httpdbg

[25] 

GetQzonehistory:获取 QQ 空间发布的历史说说: https://github.com/LibraHp/GetQzonehistory

[26] 

Qocker:用于管理 Docker 容器的 GUI 应用: https://github.com/xlmnxp/Qocker

[27] 

linkding:可自托管的书签管理器: https://github.com/sissbruecker/linkding

[28] 

wasm2mpy:将 WebAssembly 编译为原生 MicroPython 模块: https://github.com/vshymanskyy/wasm2mpy

[29] 

🐢播客&视频: https://xiaobot.net/p/python_weekly

[30] 

走进 Bento:Meta 的 Jupyter Notebook: https://engineering.fb.com/2024/09/17/data-infrastructure/inside-bento-jupyter-notebooks-at-meta/

[31] 

🐧 往年回顾: https://xiaobot.net/p/python_weekly

[32] 

Python 潮流周刊#21:如何提升及测量 Python 代码的性能?:  https://pythoncat.top/posts/2023-09-23-weekly

[33] 

🐱欢迎订阅: https://xiaobot.net/p/python_weekly

[34] 

立即订阅: https://xiaobot.net/p/python_weekly

[35] 

本专栏: https://xiaobot.net/p/python_weekly

[36] 

Python 潮流周刊第 2 季完结了,分享几项总结: https://pythoncat.top/posts/2024-07-14-iweekly

[37] 

Python 潮流周刊第一季精华合集(1~30): https://pythoncat.top/posts/2023-12-11-weekly

[38] 

万字浓缩版,Python 潮流周刊第 1 季的 800 个链接!:  https://xiaobot.net/post/78c3d645-86fa-4bd8-8eac-46fb192a339e

[39] 

Python 潮流周刊#70:微软 Excel 中的 Python 正式发布!: https://pythoncat.top/posts/2024-09-21-weekly

[40] 

Python 潮流周刊#72:Python 3.13.0 最终版已发布!: https://pythoncat.top/posts/2024-10-12-weekly

如果你正在寻找优质的Python文章和项目,我必须向你推荐🎁Python潮流周刊🎁!

它精选全网的优秀文章、教程、开源项目、软件工具、播客、视频、热门话题等丰富内容,让你紧跟技术最前沿,获取最新的第一手学习资料!

欢迎点击下方图片,了解这份全世界知识密度最高、知识广度最大的 Python 技术周刊。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/187285