网易首页 > 网易号 > 正文 申请入驻

Python 潮流周刊#31:继 iOS 后,新 PEP 提议官方添加 Android 为支持平台

0
分享至

△△请给“Python猫”加星标 ,以免错过文章推送


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

产品推荐

本周刊由“Python猫”出品,这是一个以 Python 技术科普和分享为主的科技自媒体,欢迎关注同名公众号。品牌合作请私信联系。

文章&教程

1、PEP-738:将 Android 添加为第 3 层支持的平台[3]

周刊第 24 期分享过 PEP-730 CPython 提供对 iOS 的官方支持[4] ,这个 PEP-738 则是将目标转到了 Android 系统。目前两个 PEP 都是草案状态,但 Android 使用的是 Linux 内核,也许这个 PEP 被采纳的可能性会更大些吧?(附:今年 Python 语言峰会上的 Python on Mobile: State of the Union[5])

2、深度解析 Marker:AI 驱动的 PDF 布局检测引擎的源码解读[6]

第 29 期分享的 PDF 转 Markdown 工具Marker短短两周时间已经逼近 5K star了。这篇文章解读了它的工作原理,介绍了它的 6 个阶段及所依赖到的工具(PyMuPDF、OCRMyPDF、Tesseract 等等)。


Marker的工作原理

3、现实世界的 match/case[7]

Python 3.10 引入了match-case模式匹配语法,你们在项目中用过了么?这篇文章介绍了一种使用场景,是处理 Github 机器人返回的复杂 JSON 数据,相比传统的写法,它使得代码变得简单了。

4、pytest 守护进程:提升 10 倍本地测试迭代速度[8]

Discord 的官方博客文章,分享了他们将某个测试从 20 秒提升到 2 秒的故事!做法是使用“pytest 守护进程”和热加载,确保在需要测试时马上有进程可用,省去了即时准备工作的耗时。文章还提到了一个实现同样功能的开源项目 pytest-hot-reloading[9] 。

5、使用 Python 88 行代码写一个简易的 Android AI 程序[10]

开发一个在手机上 SDXLtext-to-image的 Demo,这听起来就不是一件简单的事情,但这篇文章介绍说只用 88 行 Python 代码就能实现?!用的技术是BeewareLeptonAI,前者在我们周刊中出现过多次(例如上文中的两个 PEP 都与它有很深的联系),后者是知名 AI 专家 @贾扬清 的创业项目。

6、在 Python 中不需要这些无谓的操作[11]

作者指出了一些常见的 Python 多余/错误用法,包括# -*- coding: utf-8 -*-range(len(xx))、追踪循环的位置、用 index() 判断是否包含、单独的 getter 和 setter。其中第一个关于编码的确实很常见,它也让我想起另一个经常被无意识使用的if __name__ == '__main__'。(附:为什么我不推荐写所谓的 main 函数?[12])

7、为什么要用“if TYPE_CHECKING”?[13]

if TYPE_CHECKING的作用是为了实现条件式导入模块,基本示例如下:

from typing import TYPE_CHECKING

if TYPE_CHECKING:
from collections.abc import Sequence

def func(value: Sequence[int]) -> None:
pass

在什么情况下要这样用呢?文章介绍了这种模式的必要性,简单结论:在 mypy 强制执行的类型检查和运行时的类型检查之间作出权衡,特别是在有大量循环依赖的情况下。

8、对比 SQLALchemy 与 Django ORM[14]

它们都是关系型数据库的对象关系映射(ORM)框架,作者基于从Django ORM切换到SQLAlchemy的视角,介绍了两者的一些差异和正确用法,避免在使用时犯错。

9、Python __init__.py 的最佳实践[15]

__init__.py是 Python 中特有的一个文件,为什么会需要用到这样的文件呢?它的作用是什么?如何自定义这个文件,又有哪些使用技巧和最佳实践呢?推荐阅读这篇很详细的教程。

10、Mojo:来自一位 Python 研究员的观点[16]

一篇系统分析 Mojo 的文章,作者想研究的问题是:Mojo 是什么,未来会如何发展?Mojo 对通用科学计算(即不仅是 AI)有用么?它什么时候才真正可用,目前还缺少什么?作者不认可流传的“Mojo==Python++”说法,而是把它视为一门新颖的静态语言来研究。

11、Python 中的简单 HTTP 状态码[17]

不要在代码中直接用数字表示 HTTP 请求的状态码,这属于“魔术数字”,并不规范。Django、Starlette 和 Litestar 等框架都提供有枚举值,但更推荐的是使用标准库的http.HTTPStatus,另外从 Python 3.12 开始,还可以用HTTPStatus.is_success表示 2xx 状态码。(附:本文出自作者日更的“降临节日历”系列文章,多是些编程小技巧,去博客阅读[18])

12、CPython 开发实战:实现 None 感知运算符 ?. 和 ??[19]

PEP-505 None 感知运算符[20] 是一份被推迟的提案,它的用途是简化判空时的条件处理。文章介绍了 PEP 里的三种 None 感知运算符,并做了一个简单版实现。文末还提及了不支持这份提案的两个评论,我想附和一句:还是不要加了,继续 Deferred 吧!

13、代码的运行多于被阅读[21]

Code is read more than written”是编程的基本常识之一,提醒着程序员要关注代码的可读性和可维护性。作者将它提炼为“maintainer > author”,但是,编码只是达成目标的手段,它为用户提供服务,因此是“user > dev”,而且最终目的是为业务创造价值,因此初步推出“biz > user > ops > dev”。这个结论对么?作者逐一考虑/权衡各项因素的重要性,又列出了多组关系,最终简明的结论是:user > ops > dev,biz > ops > dev,biz ≹ user。

Python潮流周刊每 30 期为一季,第一季的精华内容已整理成一篇 6.2 万字的长文,方便你随时查看和下载。在线访问地址:Python 潮流周刊第一季精华合集(1~30)[22]

️项目&资源

1、magic-animate:使用扩散模型的时间一致的人像动画[23]

由新加坡国立大学和字节跳动联合推出,利用一张人像和动作图生成人物的运动视频。(star 7.8K)

2、phpy:连通 Python 和 PHP 的生态系统[24]

让你在 PHP 中使用 Python 的函数和类库,或者在 Python 中使用 PHP 的包。实现原理是在进程内同时创建了ZendVMCPython VM,直接在进程堆栈空间内使用C函数互相调用。目前不支持 Python 多线程和异步 IO 特性。

3、insanely-fast-whisper:快到极致的 Whisper[25]

基于 OpenAI 的 Whisper Large v3 的音频转录工具,转录 150 分钟的音频仅需 98 秒。(star 4.2K)(附:另一个 faster-whisper:使用 CTranslate2 作更快的 Whisper 转录[26] ,star 6.2K)

4、coffee:使用 AI 将 UI 的构建和迭代速度提高 10 倍[27]

非常有创意的项目。在前端项目中引入它的组件,用自然语言描述你想实现的效果,它就会辅助生成实现代码。


演示视频中的用法截图

5、FastUI:更快构建更好的 UI[28]

Pydantic 推出的 Web 界面开发框架,可使用 React 构建响应式 Web 应用程序,而无需编写一行 JavaScript。(star 2.7K)

6、mistral-src:Mistral AI 7B v0.1 模型的参考实现[29]

Mistral AI 7B 的表现极为亮眼,在评分上接近了 Llama 70B 版本。这个项目是官方开源,用于快速部署和使用这个模型。(star 5.4K)

7、netchecks:查验网络运行条件的工具[30]

用于测试网络条件是否符合预期,支持验证 DNS 和 HTTP 连接,可配置断言条件,支持自定义验证内容。

8、Pearl:Meta 推出的强化学习 AI 代理库[31]

由 Meta 的应用强化学习团队开源,采用模块化设计,为生产环境提供了一系列独特的功能,包括动态行为空间、离线学习、智能神经探索、安全决策制定、历史总结和数据增强。(star 1.4K)

Pearl的设计图

9、gpt-fast:简单高效的 PyTorch 原生 Transformer 文本生成[32]

一个 PyTorch 的展示项目,用不到 1000 行 Python 代码,实现简单高效的文本生成。(star 4.1K)

10、The-Grand-Complete-Data-Science-Materials:数据科学的视频和材料[33]

一个资源收集型仓库,包含数据分析、数据科学、机器学习、生成式 AI 等专题的大量视频列表。(star 4.2K)

11、awesome-LLMs-In-China:中国的大模型[34]

中国大模型列表大全,全面收集有明确来源的大模型情况,包括机构、来源信息和分类等,目前列表中有 189 个国内大模型。(star 2.6K)

12、msgspec:高性能的序列化和校验库[35]

支持对 JSON、MessagePack、YAML 和 TOML 等格式的序列化与校验,拥有超高性能。(star 1.5K)

msgspec、pydantic、cattrs、mashumaro的性能对比

Python潮流周刊已开源在 Github 上,目前获得 940 star,如果周刊对你有帮助,可以给颗 star 支持下么?(有没有可能在 2023 年的最后两周突破 1K star 呢?)

播客&视频

1、PSF 官宣一档播客节目:Python 的隐藏人物[36]

“Hidden Figures of Python”播客的目标是展示 Python 社区中少数群体的声音。第一期节目是四名女性主播介绍播客的起源和对 Top Python 播客中女性嘉宾稀少的现象分析。

2、Talk Python To Me #442 使用 msgspec 作超高速的消息解析[37]

这期播客的嘉宾是上文 msgspec 的作者 Jim Crist-Harif。

3、DjangoCon US 2023 的视频列表,60 个视频[38]

DjangoCon US 是一个专注于 Django Web 框架的年度性大会,今年的视频已发布。


DjangoCon US的视频列表 欢迎订阅


  • 微信公众号 [39]:除更新周刊外,还发布其它原创作品,并转载一些优质文章。(可加好友,可加读者交流群)

  • 博客 [40] 及 RSS [41]:我的独立博客,上面有历年原创/翻译的技术文章,以及从 2009 年以来的一些随笔。

  • 邮件 [42] 及 RSS [43]:在 Substack 上开通的频道,满足你通过邮件阅读时事通讯的诉求。

  • Github [44]:你可以获取本周刊的 Markdown 源文件,做任何想做的事!

  • Telegram [45]:除了发布周刊的通知外,我将它视为一个“副刊”,补充发布更加丰富的资讯。

  • Twitter [46]:我的关注列表里有大量 Python 相关的开发者与组织的账号。

参考资料

投稿: https://github.com/chinesehuazhou/python-weekly

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

PEP-738:将 Android 添加为第 3 层支持的平台: https://pep-previews--3586.org.readthedocs.build/pep-0738/#

PEP-730 CPython 提供对 iOS 的官方支持: https://peps.python.org/pep-0730/

[5]

Python on Mobile: State of the Union: https://pyfound.blogspot.com/2023/05/the-python-language-summit-2023-python.html

[6]

深度解析 Marker:AI 驱动的 PDF 布局检测引擎的源码解读: https://journal.hexmos.com/marker-pdf-document-ai/

[7]

现实世界的 match/case: https://nedbatchelder.com/blog/202312/realworld_matchcase.html

[8]

pytest 守护进程:提升 10 倍本地测试迭代速度: https://discord.com/blog/pytest-daemon-10x-local-test-iteration-speed

[9]

pytest-hot-reloading: https://github.com/JamesHutchison/pytest-hot-reloading/

[10]

使用 Python 88 行代码写一个简易的 Android AI 程序: https://vra.github.io/2023/10/14/android-ai-app-in-88-lines-of-python-code/

[11]

在 Python 中不需要这些无谓的操作: https://www.bitecode.dev/p/you-dont-need-this-in-python

[12]

为什么我不推荐写所谓的 main 函数?: https://pythoncat.top/posts/2020-06-03-main

[13]

为什么要用“if TYPE_CHECKING”?: https://vickiboykis.com/2023/12/11/why-if-type_checking/

[14]

对比 SQLALchemy 与 Django ORM: https://st4lk.github.io/en/blog/2023/12/09/sqlalchemy-vs-django-orm/

[15]

Pythoninit.py 的最佳实践: https://coderslegacy.com/python-init-py-best-practices/

[16]

Mojo:来自一位 Python 研究员的观点: https://augierpi.gricad-pages.univ-grenoble-alpes.fr/mojo-the-point-of-view-of-a-researcher-using-python.html

[17]

Python 中的简单 HTTP 状态码: https://www.b-list.org/weblog/2023/dec/04/python-http-status-codes/

去博客阅读: https://www.b-list.org/weblog/

CPython 开发实战:实现 None 感知运算符 ?. 和 ??: https://juejin.cn/post/7310101543776829440

PEP-505 None 感知运算符: https://peps.python.org/pep-0505/

[21]

代码的运行多于被阅读: https://olano.dev/2023-11-30-code-is-run-more-than-read/

[22]

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

[23]

magic-animate:使用扩散模型的时间一致的人像动画: https://github.com/magic-research/magic-animate

[24]

phpy:连通 Python 和 PHP 的生态系统: https://github.com/swoole/phpy

[25]

insanely-fast-whisper:快到极致的 Whisper: https://github.com/Vaibhavs10/insanely-fast-whisper

[26]

faster-whisper:使用 CTranslate2 作更快的 Whisper 转录: https://github.com/SYSTRAN/faster-whisper

[27]

coffee:使用 AI 将 UI 的构建和迭代速度提高 10 倍: https://github.com/Coframe/coffee

[28]

FastUI:更快构建更好的 UI: https://github.com/pydantic/FastUI

[29]

mistral-src:Mistral AI 7B v0.1 模型的参考实现: https://github.com/mistralai/mistral-src

[30]

netchecks:查验网络运行条件的工具: https://github.com/hardbyte/netchecks

[31]

Pearl:Meta 推出的强化学习 AI 代理库: https://github.com/facebookresearch/Pearl

[32]

gpt-fast:简单高效的 PyTorch 原生 Transformer 文本生成: https://github.com/pytorch-labs/gpt-fast

[33]

The-Grand-Complete-Data-Science-Materials:数据科学的视频和材料: https://github.com/krishnaik06/The-Grand-Complete-Data-Science-Materials

[34]

awesome-LLMs-In-China:中国的大模型: https://github.com/wgwang/awesome-LLMs-In-China

[35]

msgspec:高性能的序列化和校验库: https://github.com/jcrist/msgspec

[36]

PSF 官宣一档播客节目:Python 的隐藏人物: https://pyfound.blogspot.com/2023/12/announcing-hidden-figures-of-python-pypodcats.html

[37]

Talk Python To Me #442 使用 msgspec 作超高速的消息解析: https://talkpython.fm/episodes/show/442/ultra-high-speed-message-parsing-with-msgspec

[38]

DjangoCon US 2023 的视频列表,60 个视频: https://www.youtube.com/playlist?list=PL2NFhrDSOxgX41jqYSi0HmO9Wsf6WDSmf

[39]

微信公众号: https://img.pythoncat.top/python_cat.jpg

[40]

博客: https://pythoncat.top

[41]

RSS: https://pythoncat.top/rss.xml

[42]

邮件: https://pythoncat.substack.com

[43]

RSS: https://pythoncat.substack.com/feed

[44]

Github: https://github.com/chinesehuazhou/python-weekly

[45]

Telegram: https://t.me/pythontrendingweekly

[46]

Twitter: https://twitter.com/chinesehuazhou

如果你觉得本文有帮助

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
乌战机开始直攻俄本土目标,F16一周左右进场,俄扛不住只能溃退

乌战机开始直攻俄本土目标,F16一周左右进场,俄扛不住只能溃退

邵旭峰域
2024-06-12 12:13:50
中国足协发声:五年冷藏王大雷,失败才火线出战,疑云重重?

中国足协发声:五年冷藏王大雷,失败才火线出战,疑云重重?

人生趣事悟语
2024-06-14 01:19:36
美军担心事情发生了,美媒:第10艘055已下水,生产订单仍在追加

美军担心事情发生了,美媒:第10艘055已下水,生产订单仍在追加

胖福的小木屋
2024-06-12 23:35:32
华国锋辞职,谁来接任党主席?叶帅罕见表态:不建议邓小平接任

华国锋辞职,谁来接任党主席?叶帅罕见表态:不建议邓小平接任

诗意世界
2023-12-26 16:56:17
被质疑不尊重女性,《黑神话:悟空》遭遇大量豆瓣1星评分

被质疑不尊重女性,《黑神话:悟空》遭遇大量豆瓣1星评分

懂球帝
2024-06-12 11:24:10
就在今晚,降!降!降!降!

就在今晚,降!降!降!降!

台州行
2024-06-13 07:36:29
不养猫,不养狗,中小学学生私下流行养"臭水",原因你根本想不到

不养猫,不养狗,中小学学生私下流行养"臭水",原因你根本想不到

趣笔谈
2024-06-06 14:50:34
106国参加瑞士和会:中方拒绝参会,与世界文明为伍,勿忘雅尔塔

106国参加瑞士和会:中方拒绝参会,与世界文明为伍,勿忘雅尔塔

大风文字
2024-06-03 10:27:47
全都“叛变”了!台积电、三星接连宣布,外媒:中国不买了?

全都“叛变”了!台积电、三星接连宣布,外媒:中国不买了?

兰子记
2024-06-13 22:07:40
一年前刚获聘新职的刘宝琴,被查了

一年前刚获聘新职的刘宝琴,被查了

政知新媒体
2024-06-13 11:09:14
美国新一轮制裁后,俄罗斯卢布汇率变化,兑换处前排起长队

美国新一轮制裁后,俄罗斯卢布汇率变化,兑换处前排起长队

山河路口
2024-06-13 19:01:09
CCTV5直播欧洲杯揭幕战:德国vs苏格兰 2大亿欧先生&哈弗茨冲锋

CCTV5直播欧洲杯揭幕战:德国vs苏格兰 2大亿欧先生&哈弗茨冲锋

智道足球
2024-06-13 14:42:49
动真格了!6个连续跌停后抄底大军涌入22000%,9万股东泪满面

动真格了!6个连续跌停后抄底大军涌入22000%,9万股东泪满面

惜别的海岸
2024-06-13 21:42:30
林更新考博成功,赵丽颖疑隔空送祝福,双向奔赴甜蜜又浪漫

林更新考博成功,赵丽颖疑隔空送祝福,双向奔赴甜蜜又浪漫

深剖娱乐圈
2024-06-12 20:11:12
文化渗透?小学生考试试卷竟全是日本名,那我们的中文名哪去了?

文化渗透?小学生考试试卷竟全是日本名,那我们的中文名哪去了?

鬼谷子思维
2024-06-12 15:28:14
涨价预期彻底落空!家电连大降价都卖不动了

涨价预期彻底落空!家电连大降价都卖不动了

家电圈
2024-06-12 20:27:12
全乱了!巴西坐拥5大顶级边锋,中锋人才断档:新9号不如里沙利松

全乱了!巴西坐拥5大顶级边锋,中锋人才断档:新9号不如里沙利松

刺头体育
2024-06-13 21:15:33
情况不太对劲啊...

情况不太对劲啊...

假装是天堂
2024-06-13 16:29:51
“拯救”国足的新加坡门将:家中摊位售卖食品被中国人买空

“拯救”国足的新加坡门将:家中摊位售卖食品被中国人买空

封面新闻
2024-06-12 16:57:06
诈伤?名记称两次不愿为国足效力的球员周末或在联赛出场

诈伤?名记称两次不愿为国足效力的球员周末或在联赛出场

开心体育站
2024-06-13 21:48:47
2024-06-14 02:06:44
Python猫
Python猫
人生苦短,我用Python。博客:https://pythoncat.top
633文章数 8097关注度
往期回顾 全部

科技要闻

小红书员工仅1/5工龄满2年 32岁就不让进了

头条要闻

养羊理财平台爆雷用户提现失败 客服:账上已没有资金

头条要闻

养羊理财平台爆雷用户提现失败 客服:账上已没有资金

体育要闻

乔丹最想单挑的男人走了

娱乐要闻

森林北报案,称和汪峰的感情遭受压力

财经要闻

私募大佬孙强:中国为什么缺少耐心资本

汽车要闻

升级8155芯片 新款卡罗拉锐放售12.98-18.48万

态度原创

家居
数码
教育
手机
公开课

家居要闻

大城小室 质朴自然的心灵居所

数码要闻

199元 Redmi Buds 6S明天首销:支持主动降噪 33小时续航

教育要闻

TTS新传论文带读:粉过恋爱兄妹的李龙宇是我的赛博案底…

手机要闻

鸿蒙份额超越 iOS/小爱同学接入豆包大模型

公开课

近视只是视力差?小心并发症

无障碍浏览 进入关怀版