你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。另有电报频道作为副刊,补充发布更加丰富的资讯,欢迎关注。
本期分享了 10 篇文章,13 个开源项目,2 则热门话题,全文 2100 字。
🦄文章&教程
1、用 Vue 和 Django 开发 Web 项目的终极指南(2024)
如何高效将 Vue 和 Django 搭配起来使用,特别是小团队以低成本开发全栈项目时?作者主要介绍了在 1 台服务器上部署前后端服务的场景,介绍了资源绑定策略、服务端渲染 SEO 友好的 HTML、客户端增强 HTML 动态内容等话题。
2、用 Pyodide 和 React 开发可视化的低/无代码应用
出自 Pyodide 官方博客,开发了一个 Web 项目,让用户无需编码即可使用 pandas,同时支持 matplotlib 绘图和 scikit-learn 作线性回归。文章介绍了部分实现原理,演示了主要的功能。

Python 不像 Java 等语言可用 public/private 关键字来限定类函数的可见范围,我们用 __all__ 显式声明可被导出的内容,但这不是强制的。作者指出了它存在的问题,分享了一种强制 __all__ 声明内容不允许导出的方法。
4、为什么“python -m json”没用?为什么是“json.tool”?
“python -m json.tool xxx”用于在命令行中打印美化的 JSON 内容,为什么这个命令不是简化的“python -m json xxx”呢?作者探究了“-m”标记和json 库的早期发展历史,解答出了这个疑惑。
5、tea-tasting:对 A/B 测试作统计分析的 Python 包
作者开源了 tea-tasting 库,用作 A/B 测试的统计分析。文章详细介绍了这个库的特性和基本使用方法。
asyncio 事件循环通常在主线程中运行,但也可以在新线程或守护线程运行。文章介绍了在独立线程使用 asyncio 事件循环的三种方法。
众所周知,Python 有 GIL 会限制多线程和 CPU 密集型任务的性能。那么,该如何衡量 GIL 的影响呢?文章使用 eBPF 测量从请求到释放 GIL 锁的时间,检测它的耗时分布情况。
不久前,MicroPython 度过了 11 岁生日。作者是它的早期用户和布道者,文章解释为什么 MicroPython 是极其宝贵的黑客工具。
“git log”是用于查看代码仓提交记录的命令,那能否用它只查看某个指定函数的修改记录呢?文章介绍了“git log -L :<funcname>:<file>”的用法,可以针对性查看一个函数的演变过程。
10、OpenCV 和野生王国
作者用 OpenCV 开发了运动检测程序,用于在热成像仪上监测到底是谁偷吃了自家猫的食物?哈哈,竟看到了小偷有领居家的猫、负鼠和小浣熊!(猫猫一觉醒来发现自己的粮食被洗劫一空是种什么体验……)
🐿️项目&资源
新的下一代轻量级 Python Web 框架,集成 HTMX,可开发高速、可扩展、富有表现力的 Web 应用。(star 2.6K)以下代码开发一个简单的“Hello World”页面:
from fasthtml.common import *
app,rt = fast_app()
@rt('/')
def get():
return Div(P('Hello World!'), hx_get="/change")
serve()
2、datachain:使用本地 ML 和 LLM 来处理非结构化数据
AI 驱动,可并行处理千万级非结构化的多模态的文件,使用严格类型的 Pydantic 对象而不是 JSON,也支持离线操作。
一本面向无编程经验者的数据科学入门书,采用 Jupyter 笔记本的形式,可在线阅读、修改代码、运行和测试。
4、treescope:IPython 笔记本中将 HTML 内容作交互式查看
专为 IPython 笔记本中的机器学习和神经网络研究而设计,可扩展和折叠子树,提供复制按钮,自动将任意维数组可视化。
创建商业或个人名片,可分享链接和二维码,可统计名片的访问数据。
用 PyGame 开发的复古像素风绘图工具,包含工具栏、菜单和鼠标快捷操作。

7、cloudflare-noip:免费替代付费的动态 DNS 服务
使用免费的 Cloudflare 帐户和本地 cronjob 自动更新 Cloudflare 上的 DNS 记录,替代付费的动态 DNS 服务。
8、peerfetch:基于 WebRTC 的点对点 HTTP
通过 WebRTC DataChannel 实现 http 客户端包装器和相应的服务端 HTTP 代理,可从 Web 浏览器直接安全访问隐藏在防火墙后的边缘设备(IoT 或服务器)。
下载、更新、管理和播放 YouTube 视频,带有统计报告、关联时间戳和永久链接的注释、支持浅色和深色模式。(star 2K)
10、patchwork:用 LLM 自动审查代码、改 BUG 和写文档
用 AI 改善你的编程工作流,可在 CLI 和 IDE 中运行,也可作为 CI/CD 管道的一部分。有开箱即用的常用工作流模板,也可支持自定义工作流。
11、RestrictedPython:运行不可信 Python 代码的受限执行环境
这不是沙盒系统或安全环境,但它可以定义可信的环境并在其中执行不可信的代码。仅支持 CPython,不支持其它实现。
12、metahuman-stream:实时互动的流媒体数字人
实现音视频同步对话的数字人,支持多种数字人模型(ernerf、musetalk、wav2lip),支持声音克隆、说话被打断、全身视频拼接、视频编排等。(star 2.3K)
一个简单易用的自动识别、翻译和视频辅助工具,可快速识别视频字幕、翻译字幕、辅助图文,支持多种语言和文件格式,支持 AI 总结问答,等等。

🥂讨论&问题
Reddit 热帖。作者发现一些流行的库(FastAPI 和 PyTest)并不遵循“explicit is better than implicit”原则,反而用了不少隐式行为和不易观察的魔法操作。为什么会出现这种情况?是这条原则有问题么?
有什么新的、有趣的、不为人知但却实用的 Python 库可推荐的?我们周刊分享过很多,这则帖子下也有很多!(附:作者还在 Hacker News 问了同样的问题)
🐧 往年回顾
Python 潮流周刊#13:Jupyter Notebook 7 发布了,无 GIL 提案传来大好消息!(2023.07.29)
🐱欢迎订阅
技术周刊是聪明人在信息过载时代中筛选优质知识的聪明手段。这是一个专为国内 Python 开发者量身打造的资讯平台,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等丰富内容。立即订阅,每周将收到一篇文章推送,每周进步一点点。
欢迎留言,说说你最喜欢本期的哪一则分享?大家反馈得越多,我今后分享的也会越多!