Python潮流周刊#4:Python 2023 语言峰会

Posted 豌豆花下猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python潮流周刊#4:Python 2023 语言峰会相关的知识,希望对你有一定的参考价值。

你好,我是猫哥。这里记录每周值得分享的 Python 及通用技术内容,本期是特别加更版,聚焦于 Python 官方 2023 年语言峰会的系列博客。

博客原文:https://pythoncat.top/posts/2023-05-31-weekly4

每年在 PyCon US 开始之前,Python 核心开发者、维护者和特邀嘉宾都会聚在一起参加 Python 语言峰会:这是一个为期一天的会谈活动,讨论 Python 的未来方向。

今年的活动刚结束一个月,PSF 在本周一发布了多篇博客,回顾了峰会上的一些演讲内容。本期周刊将这些文章进一步作了摘要,分享给大家:

1、Three Talks on the C API

这是关于 C API 的三场演讲。首先,Mark Shannon 和 Guido van Rossum 提及当前 C API 对第三方扩展的支持不够,经常在升级版本时破坏它们的功能。会上的结论是收集 C API 的问题清单,再制定解决方案。

另一场演讲是关于 HPy,它是一个用于编写 Python 扩展模块的新的 API,旨在解决 CPython C API 的一些限制和问题。它的好处是编写的扩展模块可以在不同的 Python 实现中运行,例如 CPython 和 PyPy。但是,演讲者想要官方将它作为推荐方案的想法没有得到支持,一方面的原因是它还不够完善,更重要的原因则是 Guido 评论的自上而下的方法行不通。HPy 似乎是挺不错的克服 C API 问题的方案,但它要取代 C API 的地位,还为时尚早。

2、Making the Global Interpreter Lock Optional

我们曾多次介绍过 nogil 项目,比如在周刊第二期就分享了一篇文章。在本次峰会上,nogil 的作者 Sam Gross 介绍了过去一年的进展,给出了 nogil 在性能上取得的令人满意的数据,还提出了更明确的路线图。大家最担心的依然是它提出编译成两个发行版、以及导致的调试困难等问题。(我们曾在 2 月份的一篇文章 中讨论过)

3、Towards Native Profiling for Python

Joannah Nanjekye 的演讲介绍了 Scalene,这是一个基于采样的 Python 分析器,可以在报告中区分机器代码和 Python 代码。使用 C、C++ 或 Rust 编写的 Python 扩展会被编译为机器代码,因此很难用采样的方式分析。Scalene 解决了一些技术难题,是最受欢迎的 Python 分析工具之一。演讲者试探性提出将 Scalene 的成果集成到标准库 cProfile 中,但没有得到响应。最后,这个库还被拿来跟 Python 3.12 中引入的 perf 分析器作比对。

4、What is the stdlib for?

Brett Cannon 提出的问题实际是:标准库应该扮演什么样的角色?Python 在发展初期自诩“自带电池”,包含了很多标准库,但随着第三方库越来越丰富以及 PyPI 使得安装库非常便利,很多标准库就不再有价值了。与会者的共识是:标准库应该专注于帮助用户编写更好的 Python 代码。这意味正在进行的标准库“瘦身计划”不会停,同时,未来的新标准库会更加规范引入。

5、Pattern Matching, __match__, and View Patterns

模式匹配语法是 3.10 版本的重大特性,但是 Sullivan 认为它的能力相当有限,因此提出了模式匹配的后续发展方向。与会者们普遍认同要增强模式匹配语法,然而,是否要引入一个新的魔术方法 __match__,或者采用别的方案,暂无定论。文中附有很多代码示例以及关于模式匹配的参考资料,对此话题感兴趣的同学可以去了解下。

6、Python on Mobile: State of the Union

Russell Keith-Magee 介绍了 BeeWare,它的目标是在 Android 和 iOS 等移动平台上轻松运行 Python。项目已得到 Anaconda 的投资支持,演讲者的诉求是希望得到 CPython 的“Tier-3”支持。会上讨论了 CI 测试套对移动平台的支持、sys.platform 在移动平台应该得到什么值、以及如何在移动平台发布 CPython 二进制文件,等等。手机上的 Python,这值得期待!

7、Burnout is Real

Guido 在峰会上聊了开源倦怠、解决倦怠的策略、以及如何避免倦怠等话题。很多时候,开源贡献者都是在用爱发电,然而大型开源项目还常常有复杂的场景、琐碎的讨论、多样的人际协作、时常冲突的观点或想法等,这些都容易让人疲倦、消磨人的热情。(PS.如果你关注技术新闻的话,会看到 Rust 社区最近闹得沸沸扬扬的核心开发者内讧事件。开源社区的发展也是一大难题,庆幸的是这届峰会反映出 Python 社区是在健康发展中)

8、Lightning Talks

介绍了三场简短的闪电演讲,主题有:让我们支持 LLVM-BOLT 作为官方功能、在 Python 中实现延迟导入的机制、让模块支持调用(已提出 PEP-713)。

以上就是今年峰会上讨论的重大议题,可以说都是非常有意义的话题。

有不少内容其实已经有了最新进展(毕竟活动已结束一个月),还有一些可能仍需较长时间才能尘埃落定(比如 nogil 和手机上的 Python)。

这里再补充两篇文章,有关于 Fast CPython 项目的进展:《Faster CPython at PyCon, part one》、《Faster CPython at PyCon, part two》,Python 3.11 已经让大家看到了非常多的性能提升,未来版本更值得期待。

赞助&支持

内容创作不易,如果你觉得有帮助,请随意赞赏买杯咖啡或在爱发电进行支持!如果你喜欢本周刊,请转发分享给其他需要的同学~

另诚邀赞助者,欢迎通过私信联系。

关于周刊

Python 潮流周刊,精心筛选国内外的 200+ 信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进 Python 技术,并增长职业和副业的收入。

订阅方式:Python猫 | RSS | 邮件 | Github | Telegram | Twitter

Python 周刊第 418 期

新闻

PyCon US 2020 开始接受财务赞助!

https://pycon.blogspot.com/2019/10/financial-aid-launches-for-pycon-us-2020.html2020年 Python 美国开发者大会,tips: 中国也有,可以赞助国内的) 已开放财务赞助申请,Pycon 将在 2020 年 1 月 31 日之前接受财务赞助。Python 软件基金会和 PyLadies 会对该大会进行财务赞助。今年,Python 软件基金会将提供 130000 美元的财务赞助,而 PyLadies 会根据 2019 年全年的捐款情况尽其所能赞助 Pycon。

VS Code 支持 Jupyter Notebook 的编辑

https://devblogs.microsoft.com/python/announcing-support-for-native-editing-of-jupyter-notebooks-in-vs-code/

文章、教程或研讨会

用 Python 从 Last.fm API 接口获取音乐数据

https://www.dataquest.io/blog/last-fm-api-python/

深度学习研究人员关于 TensorFlow 2.0 和 Keras 的概述

https://colab.research.google.com/drive/1UCJt8EYjlzCs1H1d1X0iDGYJsHKwu-NO

使用 Python 的 Django 框架搭建简历网站

https://www.youtube.com/watch?v=F5WXNI3Dq8U

在本视频中,我们将使用 Python 的 Django 框架搭建一个简历网站。如果您想学习用 Django 搭建一个简单的静态网站,那么这就是为你准备的视频。

使用 Terraform 启动 Django 应用的基础架构

https://hodovi.cc/blog/bootstrapping-infrastructure-for-django-applications-with-terraform/

使用%autoreload 自动重新加载模块

https://switowski.com/blog/ipython-autoreload

如何在 Python 中从头开始实现贝叶斯优化

https://machinelearningmastery.com/what-is-bayesian-optimization/

你的计算机视觉应用无法正常运行的愚蠢原因:Exif 方向

https://medium.com/@ageitgey/the-dumb-reason-your-fancy-computer-vision-app-isnt-working-exif-orientation-73166c7d39da

包含 MLBox 的 AutoML 简介

https://ahmedbesbes.com/introduction-to-automl-with-mlbox.html

如何在 CPython 中实现字典

https://www.data-structures-in-practice.com/hash-tables/

使用 Python 模拟 Monty Hall 问题

https://www.youtube.com/watch?v=G0EjLq4fMOA

Monty Hall 问题的名字来自于Monty Hall主持的电视游戏节目《Let‘s Make A Deal》。在此视频中,我展示了一个仿真模拟以演示 Monty Hall 问题。

用 Python 对价格智能分析:Scrapy,SQL 和 Pandas

https://blog.scrapinghub.com/price-intelligence-with-python-scrapy-sql-pandas

Python 3.9 的新增功能

https://docs.python.org/3.9/whatsnew/3.9.html

使用光谱数据预测森林类型

https://medium.com/@md3962/predicting-forest-type-using-spectral-data-1e6c7b920c61

Python 和快速 HTTP 客户端https://julien.danjou.info/python-and-fast-http-clients/

在 Python 中用 Magenta 和 Twilio 通过电话生成 Nintendo 音乐:https://www.twilio.com/blog/generating-nintendo-music-over-the-phone-with-magenta-and-twilio

教程中不经常使用的六个 Django 模板标签: https://medium.com/@highcenburg/django-template-tags-not-often-used-in-tutorials-78d6c5f29b26

PyPy 的新 JSON 解析器: https://morepypy.blogspot.com/2019/10/pypys-new-json-parser.html

Python 的自动格式化工具: https://www.kevinpeters.net/auto-formatters-for-python

有趣的项目,工具和库

Hydra

https://cli.dev/

一个优雅地配置复杂应用的框架。

imagededup

https://github.com/idealo/imagededup

简单地查找重复的图像!

Streamlit

https://github.com/streamlit/streamlit

建立自定义 ML 工具的最快方法。

brightml

https://github.com/kootenpv/brightml

实用的关于自动亮度调节的机器学习框架。

common_intern

https://github.com/harshibar/common_intern

一个可自适应于软件工程实习的 selenium 脚本!

Pytify

https://github.com/bjarneo/Pytify

可控制 Spotify 的 CLI 应用程序。

video2x

https://github.com/k4yt3x/video2x

使用 waifu2x 和 Anime4K 实现的无损的 视频放大器 / 视频升频器。

GeoNode

https://github.com/GeoNode/geonode

GeoNode 是一个可促进地理数据的创建,共享和协作使用的开源平台。

UniLM

https://github.com/microsoft/unilm

统一语言描述的预培训模型。

rpiapi

https://github.com/victorqribeiro/rpiapi

一个关于树莓派的 API。

python-ds

https://github.com/prabhupant/python-ds

一个关于数据结构、算法概念以及算法问题的存储库 (用 Python 语言描述的)

flask-swagger-types

https://github.com/plainas/flask-swagger-types

一个 Flask 规范生成器和类型检查器。

Kornia

https://github.com/arraiyopensource/kornia

Kornia 是针对 PyTorch 的可微分计算机视觉库。

entroPy

https://github.com/gcmartinelli/entroPy

用 Python 编写的熵 (信息值) 可视化工具。

本文翻译自 Python Weekly 418期,有删改,不作为商业用途。

欢迎关注微.信.公..众号: 爱写Bug

技术图片

以上是关于Python潮流周刊#4:Python 2023 语言峰会的主要内容,如果未能解决你的问题,请参考以下文章

云原生周刊:一文读懂 Pod 网络 | 2023.4.10

Python 周刊第 418 期

第420期 Python 周刊

人工智能轨道交通行业周刊-第36期(2023.2.27-3.5)

人工智能轨道交通行业周刊-第32期(2023.1.30-2.5)

人工智能轨道交通行业周刊-第32期(2023.1.30-2.5)