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

2023-10-30 09:52

本文主要是介绍Python 潮流周刊#24:no-GIL 提案正式被采纳了!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

△点击上方“Python猫”关注 ,回复“1”领取电子书

d4490d63b24b5cf2eeda9fc68df394ac.jpeg

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

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

🦄文章&教程

1、PEP-703 无 GIL CPython 的进展[1]

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

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

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

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

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

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

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

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

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

6、继续关于 Flask 的讨论[9]

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

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

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

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

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

9、什么是 lambda 表达式?[13]

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

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

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

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

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

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

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

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

如果你觉得周刊有价值,请表达小小心意,赞赏一下猫哥吧~~

50771821fbe5ee4bc6a25dd45cb5df7e.png

🐿️项目&资源

1、celery:分布式任务队列[18]

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

2、rq:简单的任务队列[19]

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

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

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

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

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

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

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

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

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

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

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

8、localpilot:Mac 上的 Github Copilot[25]

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

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

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

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

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

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

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

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

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

🐢播客&视频

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

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

2、让我们聊一聊模板[32]

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

3、JupyterCon 2023 视频 86 个[34]

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

🐱赞助&支持

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

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

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

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

🐼欢迎订阅

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

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

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

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

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

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

参考资料

[1]

PEP-703 无 GIL CPython 的进展: https://lwn.net/Articles/947138/

[2]

PEP-703 的讨论: https://discuss.python.org/t/pep-703-making-the-global-interpreter-lock-optional/22606/123

[3]

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

[4]

BeeWare: https://beeware.org/

[5]

Kivy: https://kivy.org/

[6]

Django 进阶:开发高级的功能: https://www.pythoncentral.io/the-next-step-in-django-development-advanced-features-to-consider/

[7]

在 Python 中开发异步的任务队列: https://testdriven.io/blog/developing-an-asynchronous-task-queue-in-python/

[8]

Flask、它的生态和向后兼容性: https://pgjones.dev/blog/flask-ecosystem-compatibility-2023/

[9]

继续关于 Flask 的讨论: https://blog.miguelgrinberg.com/post/some-more-to-talk-about-flask

[10]

我们必须聊聊 Flask: https://blog.miguelgrinberg.com/post/we-have-to-talk-about-flask

[11]

介绍 rip - 快速而简约的 pip 实现: https://prefix.dev/blog/introducing_rip

[12]

使用 Rust 将数据分析速度提高 180,000 倍: https://willcrichton.net/notes/k-corrset/

[13]

什么是 lambda 表达式?: https://www.pythonmorsels.com/lambda-expressions/

[14]

手撸个视频翻译和配音工具玩玩 结果不太妙: https://juejin.cn/post/7293420609088798731

[15]

掌握使用 FastAPI 进行集成测试: https://alex-jacobs.com/posts/fastapitests/

[16]

Python 代码转为 LATEX 公式工具: https://www.biaodianfu.com/latexify-python.html

[17]

https://pythoncat.top/tags/weekly: https://pythoncat.top/tags/weekly

[18]

celery:分布式任务队列: https://github.com/celery/celery

[19]

rq:简单的任务队列: https://github.com/rq/rq

[20]

huey:轻量级的任务队列: https://github.com/coleifer/huey

[21]

rip:快速解决和安装 Python 包(Rust 版 pip): https://github.com/prefix-dev/rip

[22]

Selenium-python-helium:Web 自动化库,让 Selenium 更好用: https://github.com/mherrmann/selenium-python-helium

[23]

rendercv:用 YAML/JSON 文件创建 PDF 格式的简历: https://github.com/sinaatalay/rendercv

[24]

latexify_py:用 Python 代码生成 LaTeX 表达式: https://github.com/google/latexify_py

[25]

localpilot:Mac 上的 Github Copilot: https://github.com/danielgross/localpilot

[26]

annoy:C++/Python 的近似最近邻搜索: https://github.com/spotify/annoy

[27]

voyager:用于 Python 和 Java 的近似邻搜索库: https://github.com/spotify/voyager

[28]

Test-Agent:国内首个测试行业大模型工具: https://github.com/codefuse-ai/Test-Agent

[29]

waymax:用于自动驾驶研究的基于 JAX 的模拟器: https://github.com/waymo-research/waymax

[30]

Python 的代码生成:拆解 Jinja: https://www.youtube.com/watch?v=jXlR0Icvvh8

[31]

演讲的 PPT: https://speakerdeck.com/mitsuhiko/code-generation-in-python-dismantling-jinja

[32]

让我们聊一聊模板: https://www.youtube.com/watch?v=rHmljD-oZrY

[33]

演讲的 PPT: https://speakerdeck.com/mitsuhiko/lets-talk-about-templates

[34]

JupyterCon 2023 视频 86 个: https://www.youtube.com/playlist?list=PL_1BH3ug7n1Ih_Yy2TmM7MZ2zogSLZvzE

[35]

赞赏: https://img.pythoncat.top/wechat_code.png

[36]

买杯咖啡: https://www.buymeacoffee.com/pythoncat

[37]

投稿/建议通道: https://github.com/chinesehuazhou/python-weekly/issues/new

[38]

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

[39]

博客: https://pythoncat.top

[40]

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

[41]

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

[42]

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

[43]

Telegram: https://t.me/pythontrendingweekly

[44]

Twitter: https://twitter.com/chinesehuazhou

ea3515d333094d72a381e3ba4aac465d.gif

如果你觉得本文有帮助

请慷慨分享点赞,感谢啦

这篇关于Python 潮流周刊#24:no-GIL 提案正式被采纳了!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/307106

相关文章

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

nudepy,一个有趣的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个有趣的 Python 库 - nudepy。 Github地址:https://github.com/hhatto/nude.py 在图像处理和计算机视觉应用中,检测图像中的不适当内容(例如裸露图像)是一个重要的任务。nudepy 是一个基于 Python 的库,专门用于检测图像中的不适当内容。该

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

HTML提交表单给python

python 代码 from flask import Flask, request, render_template, redirect, url_forapp = Flask(__name__)@app.route('/')def form():# 渲染表单页面return render_template('./index.html')@app.route('/submit_form',

Python QT实现A-star寻路算法

目录 1、界面使用方法 2、注意事项 3、补充说明 用Qt5搭建一个图形化测试寻路算法的测试环境。 1、界面使用方法 设定起点: 鼠标左键双击,设定红色的起点。左键双击设定起点,用红色标记。 设定终点: 鼠标右键双击,设定蓝色的终点。右键双击设定终点,用蓝色标记。 设置障碍点: 鼠标左键或者右键按着不放,拖动可以设置黑色的障碍点。按住左键或右键并拖动,设置一系列黑色障碍点

Python:豆瓣电影商业数据分析-爬取全数据【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】

**爬取豆瓣电影信息,分析近年电影行业的发展情况** 本文是完整的数据分析展现,代码有完整版,包含豆瓣电影爬取的具体方式【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】   最近MBA在学习《商业数据分析》,大实训作业给了数据要进行数据分析,所以先拿豆瓣电影练练手,网络上爬取豆瓣电影TOP250较多,但对于豆瓣电影全数据的爬取教程很少,所以我自己做一版。 目

微软正式推出 Spartan 斯巴达浏览器

作为用于替代 IE 浏览器的下一代继任者,微软的 Project Spartan 斯巴达浏览器可算是吊足了玩家们的胃口!如今,在最新的 Windows 10 Build 10049 版本起,它终于正式登场了。 斯巴达浏览器搭载了全新的渲染引擎、新的用户界面并集成了 Cortana 语音助手。功能上新增了稍后阅读列表、阅读视图、F12开发者工具、支持网页注释 (手写涂鸦),可以保存到 O