Python 潮流周刊#24: no-GIL 提案正式被采纳了!

2023-10-29 21:05:07 +08:00
 chinesehuazhou

你好,我是猫哥。这里每周分享优质的 Python 、AI 及通用技术内容,大部分为英文。标题取自其中两则分享,不代表全部内容都是该主题,特此声明。

微信 | 博客 | 邮件 | Github | Telegram | Twitter

本周刊的源文件归档在 Github 上,已收获 777 star 好评,如果你也喜欢本周刊,就请给颗 star 支持一下吧:https://github.com/chinesehuazhou/python-weekly

🦄文章&教程

1 、PEP-703 无 GIL CPython 的进展

PEP-703 是 no-GIL 项目形成的提案,就在本周,Python 指导委员会宣布采纳了这个提案!这篇文章写于消息宣布的两周前,总结了过去一段时间里发生的技术思考和进展。(附:PEP-703 的讨论

2 、PEP-730 CPython 提供对 iOS 的官方支持

这是一个新提案,建议 CPython 提供对 iOS 系统的 Tier 3 级支持。如果提案被采纳,则 Python 将会有更广泛的使用。 BeeWareKivy 是支持 iOS 的 Python APP 开发框架,说明了技术的可行性。

3 、Django 进阶:开发高级的功能

文章探讨在 Django 应用中集成一些高级的特性,例如:实现所见即所得编辑器、用户认证授权、实时通信功能、异步任务、集成 Elasticsearch 作全文搜索、自动化测试与持续集成。

4 、在 Python 中开发异步的任务队列

介绍了使用 multiprocessing.Pool 、multiprocessing.Queue 和 Redis 实现简单的任务队列,实现基础的任务调度处理。

5 、Flask 、它的生态和向后兼容性

上期周刊分享了一则吐槽 Flask 向后兼容性不好的文章(见下),这篇是对它的回应,作者是 Flask 的维护者之一。

6 、继续关于 Flask 的讨论

这是上周《我们必须聊聊 Flask》的后续,作者收到了一些正面和反面的回应,文章延续了之前的话题,并主要反驳了一些观点。

7 、介绍 rip - 快速而简约的 pip 实现

rip 是用 Rust 开发的 PyPI 包解析及安装库,即 Rust 版本 pip 。它试图在 Conda 和 PyPI 间架起一座坚固的桥梁,文章介绍它为了克服这两者的主要区别(元数据提取、Wheel 文件元数据、依赖项规范)而做的一些工作。

8 、使用 Rust 将数据分析速度提高 180,000 倍

如何使用 Rust 实现关键代码来提升 Python 程序的性能?文章从多个方面优化 k-CorrSet 问题的实现,得到了很高的速度提升。

9 、什么是 lambda 表达式?

什么是 lambda 表达式和 lambda 函数? lambda 函数与 Python 的其它函数有何不同?它有什么局限性、什么时候应该避免使用、通常使用在什么场景?

10 、手撸个视频翻译和配音工具玩玩 结果不太妙

视频翻译是对原始语言的视频处理后,显示为其它语言的字幕及配音。文章是一个低成本的尝试,技术栈:语音识别使用 openai-whisper 离线模型、文字翻译使用 Google 接口、文字合成语音使用 Microsoft Edge tts 。

11 、掌握使用 FastAPI 进行集成测试

集成测试是指将各个代码单元作为一个整体进行测试。文章介绍基于 FastAPI 的集成测试方法,包括如何模拟身份验证、如何模拟外部 API 、如何模拟 MangoDB 相关操作、如何模拟 AWS S3 。

12 、Python 代码转为 LATEX 公式工具

latexify_py 是一个 Google 开源的 Python 包,可以将 Python 源代码片段编译为相应的 LaTeX 表达式。文章介绍了它的使用方法,包括如何将 Python 函数转为公式、Latexify 参数设定、Latexify 生成伪代码。

🎁Python 潮流周刊🎁已免费发布了 24 期,访问下方链接,即可查看全部内容:https://pythoncat.top/tags/weekly

🐿️项目&资源

1 、celery:分布式任务队列

Python 中比较成熟的任务队列库,支持 RabbitMQ 、Redis 等中间件,很容易与主流 Web 框架集成。( star 22.4K )

2 、rq:简单的任务队列

RQ ( Redis Queue )是基于 Redis 的任务作业库,使用门槛低,支持排队、定时、重试等功能。( star 9.2K )

3 、huey:轻量级的任务队列

简单轻量级的任务队列库,支持 Redis 、SQLite 、文件系统和内存存储,支持多进程、多线程或 Greenlet 任务执行模型。( star 4.7K )

4 、rip:快速解决和安装 Python 包( Rust 版 pip )

用 Rust 实现的 pip ,支持下载、解析和安装 PyPI 包,支持 wheel (部分支持),计划将 sdist 文件。

5 、Selenium-python-helium:Web 自动化库,让 Selenium 更好用

Selenium 是 Web 自动化的最优库之一,Helium 是在其基础上的封装,使 Web 自动化更为方便。除了高级 API ,它还简化了 Web 驱动管理、支持与嵌套的 iFrame 中元素交互、支持隐式等待、支持显式等待。( star 3.6K )

6 、rendercv:用 YAML/JSON 文件创建 PDF 格式的简历

它支持解析 YAML 及 JSON 文件的简历,创建 latex 文件,然后渲染成 PDF 格式。目前仅有一款主题。

7 、latexify_py:用 Python 代码生成 LaTeX 表达式

可以将 Python 源码或 AST 编译为 LaTex ,使用 IPython 来漂亮地打印编译的函数。( star 6.5K )

8 、localpilot:Mac 上的 Github Copilot

在 Macbook 本机上使用的编程助手,配置及使用非常简易。( star 2.6K )

9 、annoy:C++/Python 的近似最近邻搜索

用于搜索空间中靠近给定查询点的点,与其它同类库的最大不同是可使用静态文件作为索引,可实现跨进程共享索引。被 Spotify 用作音乐推荐。( star 12.1K )

10 、voyager:用于 Python 和 Java 的近似邻搜索库

可对内存中的向量集合执行快速的近似最近邻搜索。也是出自 Spotify ,每天被查询数亿次,扛得住海量用户的请求。召回率比 annoy 高。

11 、Test-Agent:国内首个测试行业大模型工具

它旨在构建测试领域的“智能体”,融合大模型和质量领域工程化技术,促进质量技术代系升级。开源了测试领域模型 TestGPT-7B ,该模型以 CodeLlama-7B 为基座。

12 、waymax:用于自动驾驶研究的基于 JAX 的模拟器

Waymo 是 Google 旗下的自动驾驶公司,Waymax 是其开源的轻量级、多智能体、基于 JAX 的自动驾驶模拟器,可轻松分发和部署在 GPU 和 TPU 等硬件加速器上。

🐢播客&视频

1 、Python 的代码生成:拆解 Jinja

Jinja 的主要作者 Armin Ronacher 在 2012 年的演讲视频,介绍了 Jinja 编译器基础结构的设计,为什么这样设计,以及不同版本的迭代发展过程。(附:演讲的 PPT

2 、让我们聊一聊模板

Armin Ronacher 在 2014 年的演讲视频,比较了 Jinja 和 Django 的模板,分析它们产生截然不同设计的历史原因。(附:演讲的 PPT

3 、JupyterCon 2023 视频 86 个

JupyterCon 是一个专注于 Jupyter 应用和工具的年度活动,包括数据科学、机器学习、科学计算、数据可视化、教育和科学研究等领域。

🐱赞助&支持

如果你喜欢周刊,请分享给其他需要的同学,让更多人可以从中受益~

如果你觉得周刊有价值,请随意赞赏买杯咖啡 进行支持!

如果你想帮助周刊办得更好,欢迎向我们投稿或提出建议:投稿/建议通道

如果你是品牌方或广告主,欢迎私信我,洽谈赞助与合作事项。

🐼欢迎订阅

1203 次点击
所在节点    Python
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/986488

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX