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 在本周一发布了多篇博客,回顾了峰会上的一些演讲内容。本期周刊将这些文章进一步作了摘要,分享给大家:
这是关于 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
分析器作比对。
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,这值得期待!
Guido 在峰会上聊了开源倦怠、解决倦怠的策略、以及如何避免倦怠等话题。很多时候,开源贡献者都是在用爱发电,然而大型开源项目还常常有复杂的场景、琐碎的讨论、多样的人际协作、时常冲突的观点或想法等,这些都容易让人疲倦、消磨人的热情。(PS.如果你关注技术新闻的话,会看到 Rust 社区最近闹得沸沸扬扬的核心开发者内讧事件。开源社区的发展也是一大难题,庆幸的是这届峰会反映出 Python 社区是在健康发展中)
介绍了三场简短的闪电演讲,主题有:让我们支持 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 周刊第 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 的编辑
文章、教程或研讨会
用 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 方向
包含 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
一个优雅地配置复杂应用的框架。
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 语言峰会的主要内容,如果未能解决你的问题,请参考以下文章
人工智能轨道交通行业周刊-第36期(2023.2.27-3.5)