你好,我是猫哥。这里记录每周值得分享的 Python 及通用技术内容,部分为英文,已在小标题注明。(标题取自其中一则分享,不代表全部内容都是该主题,特此声明。)
首发于我的博客,https://pythoncat.top/posts/2023-06-10-weekly6
1 、CPython 贡献日记:Python 3.12 有什么?
文章出自群友 @孙孟越,介绍了 Python 3.12 中他深度参与的几个大更新,比如 PEP-701 定型 f-字符串的句法、PEP-688 给 Python Buffer Protocol 暴露 Python 接口、PEP-695 类型参数语法,等等。另外,他在前一篇《CPython 贡献日记》中介绍了给开源社区做贡献的相关知识,比如提 PR 的小技巧、提 /解决 Issue 的小技巧,等等。(你也想给 Python 贡献代码么?请参考:Python Developer’s Guide)
文章介绍了目前流行的 67 个工具,包括大语言模型、搜索引擎、办公、内容生成、精神需求、提示词学习等方向,它还梳理了下面这张思维导图:
3 、我买了本豆瓣 9.6 分的 Python 书,发现里面每 5 页一个错误?!
文章从一本 Python 入门书籍中找出了 30 个有代表性的错误,并给出了“离谱程度”评分。作者批判性阅读了那本书,同理,读者们也应该批判性阅读这篇文章,因为它说得也并不都对。(@TheFry 投稿)
4 、Sketch of a Post-ORM (英)
通常我们使用纯 SQL 或者 ORM 框架来操作数据库,作者比较了这两种方案,指出了它们的诸多缺陷,然后提出了一种新的技术设想。作者从 8 个方面介绍了自己的思路,包括迁移优先、声明式迁移、跨语言移植、更好的 SQL ,等等。作者还演示了一个工作流以及 Python 代码示例。
5 、Python 中运行 Shell 命令的正确做法 (英)
作者先介绍了 Python 与操作系统交互的一些常用库,比如 pathlib 、tempfile 、shutil 、os 、subprocess 等等,最后再介绍了他最为推荐的 sh 库的相关用法。这个库的方法对熟悉 shell 命令的同学非常友好。
6 、如何使用 async 升级 Flask 程序 (英)
文章使用 Locust 作负载测试,简单演示了将同步的 Flask 程序修改为异步后,性能数据上的变化。
7 、提议给 Python 添加一个结构语法 (英)
核心开发者 Brett Cannon 的博客介绍了他的思考,提议增加一个struct
关键字,用于更方便地创建数据类,类似于 C 、Rust 与 Go 的结构语法。文中介绍了他的目标以及这个关键字的实现原理,目前在收集意见阶段,未来不排除会提成一个 PEP 。
出自《从 1 到 ∞ 精通 Python 》系列,已包含 17 篇文章。作者参考了《 Python 源码剖析》的分析方法及结论,深度探析了 Python 解释器源码,讲解 Python 重要特性的实现原理。
9 、2023 年 39 个顶级 Python 框架 (英)
文章梳理介绍了 39 个用于开发及测试的 Python 框架,内容很长,介绍的范围很全面。
10 、果蔬识别系统:Python+Django+TensorFlow+卷积神经网络算法
使用 Python 作为主语言,基于 TensorFlow 框架,通过对数据集进行训练,得到了一个识别精度较高的模型。基于 Django 框架,开发了网页端操作平台,支持用户上传图片作识别。
11 、使用 Kivy 库进行 GUI 开发 (英)
这是一篇入门教程。Kivy 是一个用于开发图形用户界面的库,支持桌面的跨平台开发,也支持为移动设备创建多点触控的程序。
12 、了解 CPU 有助于提升 Numba 和 NumPy 代码的速度 (英)
当需要加快 NumPy 速度或减少其运行内存时,通常使用即时编译器 Numba 。文章针对现代 CPU 的特点来优化 代码,将一个去除图像中的噪点程序的耗时从 48 ms 降到了 2 ms 。
13 、当字节码咬人时:谁检查 Python 文件编译后的内容? (英)
ReversingLabs 研究团队发现了一种针对 PyPI 的新型攻击,它使用编译后的 Python 代码来规避检测——可能是第一个利用 PYC 文件直接执行的攻击。
14 、GPT 是如何工作的:200 行 Python 代码实现一个极简 GPT
这是一篇译文,原文作者是 OpenAI 的创始成员 Andrej Karpathy 。文章使用 PyTorch 实现了一个极简 GPT ,让读者对其内部工作机制有个直观理解。
15 、600 行 Python 代码实现两个 Transformer (文本分类+文本生成)
这也是一篇译文,原文作者是阿姆斯特丹自由大学的助理教授。原文最早写于 2019 年,那时大语言模型还没有如今火爆。在文章末尾,作者希望 transformer 扩展到其它领域,因为它有很强的通用性。
NeoDB 是一个用 Django 写的开源项目,也是一个联邦宇宙书影音游戏标注平台,可简单理解成 Web3 的开源的无审查的豆瓣,但支持标记的内容比豆瓣多得多。(这个库是在 @laike9m 的博客看到的。以及非常感谢他在 Twitter 上推荐了本周刊!!)
2 、JupyterLab 4.0 已发布 (英)
JupyterLab 4.0 主要的新功能有:性能更快、升级的文本编辑器、新的扩展管理器、UI 改进,等等。
3 、pystack (英)
pstack 是 Linux 系统上常用的命令行工具,用于显示一个进程的函数调用栈,可诊断进程卡死、死锁等问题,以及分析进程的性能瓶颈。pystack 是用 Python 写成的类 pstack 库。值得一提的是,它竟然还可以显示线程是否持有、是否在等待或正在释放 GIL 。
这是一个基于 ChatGPT 的 Python 在线学习平台,内置了 AI 助手以及在线代码运行模块,允许你随时修改示例代码,一键运行,一键查错。(@Stanaaa 投稿)
5 、M3E 模型
M3E 是一个中文开源的 Embedding 模型,使用千万级 (2200w+) 的中文句对数据集进行训练,在文本分类和文本检索的任务上都超越了 openai-ada-002 模型。(@王宇昕投稿)
6 、reactpy:Python 的 React (英)
ReactPy 是一个库,用于在 Python 中构建用户界面,且不使用 Javascript 。它的接口类似于 ReactJS 中的组件,可供没有 Web 开发经验的人使用。
7 、domain-admin: 域名 SSL 证书监测平台
基于 Python + Vue3.js 技术栈实现的域名和 SSL 证书监测平台,核心功能:到期自动邮件提醒。
一个可视化爬虫软件,只需在网页上选择想爬的内容,并根据提示框操作即可完成爬虫设计和执行。也支持以命令行方式执行,可以方便地嵌入到其他系统中。这个项目源于原作者的浙江大学硕士论文,已获得国家发明专利,相关资料可在仓库查看。
9 、text-to-video-synthesis-colab:文本生成视频的模型 (英)
一个开源的文本生成视频模型,整体模型参数约 17 亿,使用英文输入。放出来的演示视频非常惊艳。
10 、segment-geospatial:使用 SAM 分割地理空间数据 (英)
SAM 即“分割任意物体模型”( Segment Anything Model ),是计算机视觉领域中非常有用和先进的模型,用于需要精确识别和分割任意物体的应用场景。这个项目使用它来分割地理空间数据。
11 、traceback_with_variables:Python 回溯(错误消息)打印变量 (英)
该项目可以在 Python 的回溯信息中添加变量。通过记录日志或打印彩色的变量上下文信息,方便调试异常的原因,并显示堆栈跟踪中每个帧的变量值。
1 、当你用 Python3.12 的时候,或许就跑了我写的代码呢!
视频来自 B 站 @码农高天,他从 3 月份起,有 20 几个 pr 已合入 Python 3.12 。这期视频详细介绍了他做出的几个贡献,主要有完善 pdb 文档、修复了几个 bug 、引入 convenience variable 特性,等等。(作者在第一次 pr 被合入后,录了一期《我给 Python 修了个 bug !从今天起,也算是 Python 开发者了?》)
2 、PyCon US 2023 - YouTube (英)
今年 PyCon US 活动的视频已经可以看了,共用 142 个视频! PyCon 是全球性的最大的 Python 开发者会议之一,由 PSF 主办,通常在 PyCon 活动期间会举行“Python 语言峰会”,今年的峰会议题详见《Python 潮流周刊#4:Python 2023 语言峰会》。
3 、PyCascades - 2023 视频 (英)
2023 年 PyCascades 活动上的视频在上个月发布了,有 20 几个视频。PyCascades 是一个专注于 Python 编程语言的会议,通常在北美地区举行,每年一次。它类似于 PyCon ,但是由独立的组织者和志愿者自发组织,规模更小。
内容创作要花费大量的时间和精力,如果你觉得有帮助,请随意赞赏、买杯咖啡或在爱发电进行支持!如果你喜欢本周刊,请转发分享给其他需要的同学,让更多人可以从中受益~
诚邀赞助者,帮助本周刊免费且可持续发布,欢迎通过私信联系。
Python 潮流周刊,由豌豆花下猫主理,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职业和副业的收入。