|
1 | | ---- |
2 | | -title: 'Python 潮流周刊#73:让我们对 PyPI 温柔一点,好吗?' |
3 | | -pubDate: 2024-10-19 |
4 | | ---- |
5 | | - |
6 | | -本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职业和副业的收入。 |
7 | | - |
8 | | -分享了 12 篇文章,12 个开源项目,2 则热门讨论,全文 2000 字。 |
9 | | - |
10 | | -以下是本期摘要: |
11 | | - |
12 | | -**[🦄文章&教程](https://xiaobot.net/p/python_weekly)** |
13 | | - |
14 | | - |
15 | | -① 让我们对 PyPI 温柔一点,好吗? |
16 | | - |
17 | | -② 是否应该在生产中使用 uv 托管的 Python? |
18 | | - |
19 | | -③ 我在开发 YouTube 字幕优化器时学到了什么? |
20 | | - |
21 | | -④ Starlette 应用的并发问题(以 FastAPI/FastHTML 为例) |
22 | | - |
23 | | -⑤ 成为 Python 核心开发者的好处 |
24 | | - |
25 | | -⑥ 如何将 Eventlet 项目迁移到 Asyncio? |
26 | | - |
27 | | -⑦ OpenTelemetry 示例:用 Python 开发特斯拉监控器 |
28 | | - |
29 | | -⑧ 用 Django、GraphQL 和 Vue 开发博客 |
30 | | - |
31 | | -⑨ PEP-762:Python REPL 的重新实现 |
32 | | - |
33 | | -⑩ Slack 如何解决棘手的数据库连接 TCP 错误? |
34 | | - |
35 | | -⑪ 局部变量就像无意中掉落的面包屑 |
36 | | - |
37 | | -⑫ 对 Python 项目架构的思考 |
38 | | - |
39 | | -**[🐿️项目&资源](https://xiaobot.net/p/python_weekly)** |
40 | | - |
41 | | - |
42 | | -① austin:Python 帧堆栈采样器 |
43 | | - |
44 | | -② srgn:类似 grep 的源码搜索/操作工具 |
45 | | - |
46 | | -③ swarm:OpenAI 推出的研究多智能体编排的框架 |
47 | | - |
48 | | -④ makedown:在可执行的 Markdown 文件中管理 Shell 脚本 |
49 | | - |
50 | | -⑤ pyloid:Electron 和 Tauri 的 Python 替代框架 |
51 | | - |
52 | | -⑥ Orbidium:查看小行星运行轨道 |
53 | | - |
54 | | -⑦ 《Web 浏览器工程》在线电子书 |
55 | | - |
56 | | -⑧ ArchiveBox:开源自托管的 Web 存档 |
57 | | - |
58 | | -⑨ OmniSenseVoice:带词语时间戳的高速语音识别 |
59 | | - |
60 | | -⑩ pipreqs:生成 pip requirements.txt 文件 |
61 | | - |
62 | | -⑪ openfreemap:免费开源的地图托管解决方案 |
63 | | - |
64 | | -⑫ Starmoon:支持语音的 AI 硬件 + 软件框架 |
65 | | - |
66 | | -**[🥂讨论&问题](https://xiaobot.net/p/python_weekly)** |
67 | | - |
68 | | - |
69 | | -① 为什么 Python 的 dict 没有 set 方法? |
70 | | - |
71 | | -② 吐槽 Python 的 \*args, \*\*kwargs |
72 | | - |
73 | | - |
74 | | - |
75 | | -周刊实行付费订阅制,年费 128 元,平均每天不到 4 毛钱,但绝对是一笔有眼光的投资。花钱学习知识,花钱提升自己,欢迎订阅这个你绝对不会后悔的专栏:https://xiaobot.net/p/python_weekly |
76 | | - |
77 | | -订阅后,可免费查看 第 73 期周刊的全文:https://xiaobot.net/post/eb029081-b35c-4f1b-a0c7-f07cb99b8351 |
78 | | - |
79 | | -Python 潮流周刊第 2 季完结了,分享几项总结:https://pythoncat.top/posts/2024-07-14-iweekly |
80 | | - |
81 | | -周刊前30期的免费合集,含精美电子书(EPUB/PDF):https://pythoncat.top/posts/2023-12-11-weekly |
82 | | - |
83 | | -万字浓缩版,Python 潮流周刊第 1 季的 800 个链接!:https://xiaobot.net/post/78c3d645-86fa-4bd8-8eac-46fb192a339e |
84 | | - |
85 | | -**微信关注 Python猫**:[https://img.pythoncat.top/python_cat.jpg](https://img.pythoncat.top/python_cat.jpg) |
| 1 | +--- |
| 2 | +title: 'Python 潮流周刊#73:让我们对 PyPI 温柔一点,好吗?' |
| 3 | +pubDate: 2024-10-19 |
| 4 | +--- |
| 5 | + |
| 6 | +你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。周刊开源在 [Github](https://github.com/chinesehuazhou/python-weekly) 上,喜欢请给颗小星星支持下~ |
| 7 | + |
| 8 | +分享了 12 篇文章,12 个开源项目,2 则热门讨论,全文 2000 字。 |
| 9 | + |
| 10 | +## [🦄文章&教程](https://xiaobot.net/p/python_weekly) |
| 11 | + |
| 12 | +1、[让我们对 PyPI 温柔一点,好吗?](https://mkennedy.codes/posts/lets-go-easy-on-pypi-ok/) |
| 13 | + |
| 14 | +许多自动化系统频繁从 PyPI 下载包,导致它巨大的流量负担。本周刊第 71 期提到它每年成本约 1200 万美元!文章讨论了如何优化 Dockerfile,既能加快构建速度,更可减少对 PyPI 的流量压力。 |
| 15 | + |
| 16 | +2、[是否应该在生产中使用 uv 托管的 Python?](https://pythonspeed.com/articles/uv-python-production/) |
| 17 | + |
| 18 | +uv 是 pip 的替代,同时它还可以安装 Python。在生产环境使用 uv 来安装 Python 是否合适呢?文章从所装 Python 的来源、可移植性和兼容性、性能和安全性等方面比较了它跟其它版本的区别,总体持谨慎乐观态度。 |
| 19 | + |
| 20 | +3、[我在开发 YouTube 字幕优化器时学到了什么?](https://youtubetranscriptoptimizer.com/blog/02_what_i_learned_making_the_python_backend_for_yto) |
| 21 | + |
| 22 | +作者用 Python + NextJS 开发了一个视频字幕优化器,后端采用 FastAPI 和 SQLmodel,文章分享了技术选型、异步编程、数据库选型与优化、利用 LLM 作质量控制、用 LLM 作诊断和修复错误、如何部署生产等方面的经验。 |
| 23 | + |
| 24 | +4、[Starlette 应用的并发问题(以 FastAPI/FastHTML 为例)](https://hamel.dev/notes/fasthtml/concurrency.html) |
| 25 | + |
| 26 | +探讨了在基于 Starlette 的应用(如 FastHTML 和 FastAPI)中调用大模型时,如何实现后台任务处理而不阻塞服务?方案包括用 SQL 数据库作为队列、使用线程运行后台任务、异步处理等。 |
| 27 | + |
| 28 | +5、[成为 Python 核心开发者的好处](https://mariatta.ca/posts/perks-of-python-core) |
| 29 | + |
| 30 | +文章作者自 2017 年以来就是 Python 核心开发者,分享了自己所享有的一些权力、福利和责任,包括 CPython 及 20 多个 Python 代码仓的提交权限、有 python.org 后缀的邮箱、参与 Python 语言峰会,等等。 |
| 31 | + |
| 32 | +6、[如何将 Eventlet 项目迁移到 Asyncio?](https://developers.redhat.com/articles/2024/10/02/migrate-eventlet-projects-asyncio) |
| 33 | + |
| 34 | +Eventlet 是一个 Python 异步库,诞生将近 20 年了,现在即将正式退役!文章介绍如何将 Eventlet 项目迁移成 Python 官方的 Asyncio 库,使用 SQLAlchemy 团队开源的 Awaitlet 工具。 |
| 35 | + |
| 36 | +7、[OpenTelemetry 示例:用 Python 开发特斯拉监控器](https://greptime.com/blogs/2024-10-11-tesla-monitoring) |
| 37 | + |
| 38 | +如何监控 Tesla Model 3 的充电和驾驶数据?文章介绍了用 Python 和 OpenTelemetry 对接 Tesla Owner API,采集和存储数据的流程,实现对车辆数据的监控分析。 |
| 39 | + |
| 40 | +8、[用 Django、GraphQL 和 Vue 开发博客](https://realpython.com/python-django-blog/) |
| 41 | + |
| 42 | +详尽的长文教程,一步步教你如何用 Django + Vue 技术栈开发一个博客,并使用 GraphQL 作接口通信。 |
| 43 | + |
| 44 | +9、[PEP-762:Python REPL 的重新实现](https://peps.python.org/pep-0762/) |
| 45 | + |
| 46 | +Python 3.13 带来了全新的 REPL(即 Python 控制台),此 PEP 是对该特性的设计说明,包括为什么用 Python 而非 C 语言实现 REPL、它包含哪些功能、向后兼容性、被拒绝的设计想法等。 |
| 47 | + |
| 48 | +10、[Slack 如何解决棘手的数据库连接 TCP 错误?](https://slack.engineering/were-all-just-looking-for-connection/) |
| 49 | + |
| 50 | +Slack 工程师在整合 Quip 时,发现 SQL 查询中出现大量 EOFError,定位发现是由 asyncio.IncompleteReadError 导致的。文章介绍了调查挖掘根因的过程、解决方法以及该问题的影响。 |
| 51 | + |
| 52 | +11、[局部变量就像无意中掉落的面包屑](https://www.bugsink.com/blog/local-variables-as-accidental-breadcrumbs/) |
| 53 | + |
| 54 | +异常通常是如何发生的,以及哪些因素有助于快速修复异常?Bugsink 作者强调了局部变量在调试中的重要性,它们是有迹可循的面包屑,帮助开发者快速追踪和定位错误。 |
| 55 | + |
| 56 | +12、[对 Python 项目架构的思考](https://www.mostlypython.com/thinking-about-architecture/) |
| 57 | + |
| 58 | +作者开发了一个 django-simple-deploy 项目,用于配置和自动部署项目到不同平台。文章讨论了在开发插件系统时遇到的问题,以及用良好的项目架构来解决。 |
| 59 | + |
| 60 | +## [🐿️项目&资源](https://xiaobot.net/p/python_weekly) |
| 61 | + |
| 62 | +1、[austin:Python 帧堆栈采样器](https://github.com/P403n1x87/austin) |
| 63 | + |
| 64 | +跨平台的 Python 分析器,通过读取 CPython 解释器虚拟内存空间来收集样本,对目标程序影响很小。零侵入、基于时间和内存分析、内置对多进程应用的支持。(star 1.8K) |
| 65 | + |
| 66 | + |
| 67 | + |
| 68 | +2、[srgn:类似 grep 的源码搜索/操作工具](https://github.com/alexpovel/srgn) |
| 69 | + |
| 70 | +类似 grep,可视为 tr、sed、ripgrep 和 tree-sitter 的混合体,能理解源码语法,可做搜索和其它操作。 |
| 71 | + |
| 72 | +3、[swarm:OpenAI 推出的研究多智能体编排的框架](https://github.com/openai/swarm) |
| 73 | + |
| 74 | +一个用于探索符合人体工程学的轻量级多智能体编排的教育框架。(star 13.1K) |
| 75 | + |
| 76 | +4、[makedown:在可执行的 Markdown 文件中管理 Shell 脚本](https://github.com/tzador/makedown) |
| 77 | + |
| 78 | +用 Markdown 文件来管理命令和文档,支持 `zsh`、`bash`、`javascript`、`python` 等脚本执行,支持代码高亮。 |
| 79 | + |
| 80 | +5、[pyloid:Electron 和 Tauri 的 Python 替代框架](https://github.com/pyloid/pyloid) |
| 81 | + |
| 82 | +基于 QtWebEngine 和 PySide6 构建,旨在简化桌面应用开发,可作为 Electron 和 Tauri 的替代。 |
| 83 | + |
| 84 | +6、[Orbidium:查看小行星运行轨道](https://github.com/DarkStar1982/Orbidium) |
| 85 | + |
| 86 | +将 NASA MPC 的小行星数据作 2D 渲染,显示小行星的运行轨迹。 |
| 87 | + |
| 88 | +7、[《Web 浏览器工程》在线电子书](https://browser.engineering/index.html) |
| 89 | + |
| 90 | +免费开源电子书,用几千行 Python 代码开发一个基本但完整的 Web 浏览器,且涵盖从网络到 Javascript 等内容。 |
| 91 | + |
| 92 | +8、[ArchiveBox:开源自托管的 Web 存档](https://github.com/ArchiveBox/ArchiveBox) |
| 93 | + |
| 94 | +功能强大的自托管网站存档解决方案,用于离线收集、保存和查看网站。通过 URL/浏览器历史记录/书签/Pocket/Pinboard/ 等,保存 HTML、JS、PDF、媒体等信息。(star 21.5K) |
| 95 | + |
| 96 | +9、[OmniSenseVoice:带词语时间戳的高速语音识别](https://github.com/lifeiteng/OmniSenseVoice) |
| 97 | + |
| 98 | +基于 SenseVoice 模型开发的更智能、更快速的音频转录工具,有闪电般速度和精确的时间戳。 |
| 99 | + |
| 100 | +10、[pipreqs:生成 pip requirements.txt 文件](https://github.com/bndr/pipreqs) |
| 101 | + |
| 102 | +基于项目中 import 内容生成 requirements.txt 文件,比`pip freeze` 更好用。(star 6.4K) |
| 103 | + |
| 104 | +11、[openfreemap:免费开源的地图托管解决方案](https://github.com/hyperknot/openfreemap) |
| 105 | + |
| 106 | +基于 OpenStreetMap 公开的地图数据,为你的网站和 APP 呈现免费的自定义地图。不限制地图和请求数,无需注册和 API 密钥。(star 2.2K) |
| 107 | + |
| 108 | +12、[Starmoon:支持语音的 AI 硬件 + 软件框架](https://github.com/StarmoonAI/Starmoon) |
| 109 | + |
| 110 | +经济实惠、善解人意的对话式 AI 伴侣,用于陪伴、娱乐、教育、儿童护理、物联网机器人、人工智能增强机器人和 DIY 机器人套件开发等。 |
| 111 | + |
| 112 | +## [🥂讨论&问题](https://xiaobot.net/p/python_weekly) |
| 113 | + |
| 114 | +1、[为什么 Python 的 dict 没有 set 方法?](https://www.v2ex.com/t/1080237) |
| 115 | + |
| 116 | +2、[吐槽 Python 的 *args, **kwargs](https://www.v2ex.com/t/1078986) |
| 117 | + |
| 118 | +## [🐧 往年回顾](https://xiaobot.net/p/python_weekly) |
| 119 | + |
| 120 | +[Python 潮流周刊#23:35 个容易上手的 Python 小项目](https://pythoncat.top/posts/2023-10-22-weekly)(2023.10.22) |
| 121 | + |
| 122 | +## [🐱欢迎订阅](https://xiaobot.net/p/python_weekly) |
| 123 | + |
| 124 | +技术周刊是聪明人在信息过载时代中筛选优质知识的聪明手段。这是一个专为国内 Python 开发者量身打造的资讯平台,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等丰富内容。[立即订阅](https://xiaobot.net/p/python_weekly),每周将收到一篇文章推送,每周进步一点点。 |
| 125 | + |
| 126 | +欢迎留言,说说你最喜欢本期的哪一则分享?大家反馈得越多,我今后分享的也会越多! |
| 127 | + |
| 128 | +欢迎将[本专栏](https://xiaobot.net/p/python_weekly)分享给同样爱学习的同学,当有人通过你分享的海报或者链接,购买了专栏,那么你将获得 **30%** 的返利。 |
| 129 | + |
| 130 | +[Python 潮流周刊第 2 季完结了,分享几项总结](https://pythoncat.top/posts/2024-07-14-iweekly) |
| 131 | + |
| 132 | +[Python 潮流周刊第一季精华合集(1~30)](https://pythoncat.top/posts/2023-12-11-weekly) |
| 133 | + |
| 134 | +[万字浓缩版,Python 潮流周刊第 1 季的 800 个链接!](https://xiaobot.net/post/78c3d645-86fa-4bd8-8eac-46fb192a339e) |
0 commit comments