Python 潮流周刊#26:requests3 的现状

Python猫

共 8324字,需浏览 17分钟

 · 2023-11-12

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

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

🐱品牌赞助

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

🦄文章&教程

1、Kenneth Reitz:迟来的道歉,以及 requests 3 的进展[3]

2019 年时 requests 3 的筹款闹出了不小的风波,后来似乎没什么消息。现在作者发了一篇道歉文,看来项目是要重启了!文中列举了目前已经完成的一些事情,包括给所有公开接口加上了类型提示、重构所有命名空间和调整成兼容异步编程等。(附:筹款风波之《Why I'm not collaborating with Kenneth Reitz[4]》)

2、grequests:异步的 HTTP 请求[5]

grequests 构建在 gevent 库之上,可以并发多个请求,有效利用异步编程的强大功能。这篇基础教程介绍了它的基本使用方法,以及一个提升性能的建议。

3、开发一个 Python 编译器和解释器[6]

这是一系列博文,目前已更新 6 篇,目标是探索和研究实现 Python 等编程语言所需的概念和算法,将会涉及分词器、解析器、编译器和解释器。

4、使用 Python+ChatGPT 开发一个书籍摘要 AI[7]

一篇教程,用 Python、Langchain 和 OpenAI embedding 开发一个书籍摘要工具。另外,作者使用 Streamlit 发布了一个在线体验网站[8]

AI作书籍摘要

5、数据库生成的列 :Django & SQLite[9]

GeneratedField 是正在开发的 Django 5.0 的新功能,利用数据库的能力自动计算数据列的值。作者是 Django 的贡献者,测试了在 SQLite 中使用这个新功能的各种场景。(附:这篇文章还介绍了一些 Django 5.0 中的新东西[10]

6、你能用 Python 的 bisect 模块做到这些事[11]

bisect 模块只有两个函数,但可以做很多事,文章介绍了:二分搜索、前缀搜索、在列表中查找连续的相等值、查找字典中最接近的键、自定义对象的排序、按照字典 key 搜索。

7、为什么说在 Windows 上为 Python 3.12 构建的 SciPy 是一个小奇迹?[12]

每当 Python 发布新版本时,三方库的维护者们也要紧锣密鼓开发兼容的对应版本,这不是轻松的事。作者介绍了他们遇到的严峻挑战,其实就是 Python 社区老大难的打包问题。好在维护者们已经找到了适用的解决方案。

8、使用 AI 进行网页抓取实验(使用 GPT-4 解析 HTML)[13]

OpenAI 发布了新的模型,它的能力到底如何呢?使用 GPT-4 作网页抓取,具有哪些优点和缺点呢?文章分别实验了抓取结构良好的网站、抓取 Google 自然搜索结果、抓取 Google SERP、以及抓取 Google MAPS 结果。

9、Django vs Flask:哪个是最好的 Python Web 框架?[14]

Python 圈最为流行的两大 Web 框架,到底应该如何取舍呢?这是一篇细致的长文,详细对比了它们在模板系统、URL 调度器、数据库支持、身份验证及授权、测试、软件架构、学习曲线等方面的差异。没有更好的,只有是否适合你的。

Web框架的使用率占比

10、在 Mac 上安装 Python 的正确方法[15]

如何在新的 M2 MacBook 上安装 Python 呢?这篇手把手的指导教程中,作者给出的建议是 Pyenv + pyenv-virtualenv

11、用 Python 开发简单的 Android 数据分析应用[16]

这篇教程指导你开发一个 Android 数据分析应用,其作用是记录和显示你全天在屏幕上花费的时间。使用的 GUI 框架是kivy ,数据分析使用了Pandas

12、改进 Numpy 的 Python API,为 2.0 版本准备[17]

NEP-52 是 Numpy 的一则增强提案,旨在识别 Numpy 中过时、重复和弃用的 Python API,并作重构优化。这项工作是为了顺利迁移到 Numpy 2.0 而做的准备。作者介绍了他在其中遇到的挑战和取得的部分成就。

🎁Python开发者调查🎁官方第七次开发者调查,旨在了解 Python 开发社区的现状,鼓励你花费几分钟来填写:填写地址[18]

🐿️项目&资源

1、pyvideotrans:视频的语言翻译,并添加配音[19]

一个视频翻译工具,可将一种语言的视频翻译为另一种语言和配音的视频。(star 1.4K)

2、pyink:Google 内部修改 Black 而成的代码格式化工具[20]

由 Black 派生而成,用于解决 Google 数千名工程师在 monorepo 上工作产生的问题。

3、sqlmodel:Python 中的 SQL 数据库[21]

由 FastAPI 作者开源的 SQL 数据库,结合了 SQLAlchemy 和 Pydantic,旨在实现简单性、兼容性和稳健性。(star 11.2K)

4、wagtail:一个 Django 内容管理系统[22]

一个专注于用户体验的后台管理系统,上期分享了关于“Django Admin 丑陋[23]”的文章,wagtail 是可提供给终端用户使用的最佳推荐。(star 16.2K)

Wagtail美观的界面设计

5、NBA-Machine-Learning-Sports-Betting:使用机器学习的 NBA 比赛预测[24]

一个机器学习 AI,用于预测 NBA 比赛胜负。包含 2007-08 赛季到本赛季的所有球队数据。

6、Python_EBook_Free:Python 电子书和资源[25]

这个仓库归档了一些 Python 电子书和学习资源,都是 PDF 格式。

7、pathway:高吞吐量和低延迟实时数据处理框架[26]

一个数据处理框架,结合了 LLM 程序的批处理、流式处理和实时 API,可与各种数据源交互(如 Kafka、CSV 文件、SQL/noSQL 数据库和 REST API)。

8、prefect:一个工作流编排工具,构建数据管道[27]

它是数据密集型工作流的编排器,可将 Python 函数转换为可观察和编排的工作单元。支持自动重试、分布式执行、调度、缓存等功能,拥有强大的仪表板进行监控。(star 13.2K)

Prefect的仪表板

9、VideoCrafter:生成高质量视频模型[28]

一个支持高清晰度的视频生成和编辑工具,目前包括文字生成视频及图片生成视频两种模型。(star 3K)

10、程序员值得看的 42 个学习资源[29]

这篇文章收集了一系列基础资源、课程和教程、编码游戏、书籍、播客、YouTube 频道、最佳实践等等。

11、networkx:Python 的网络分析库[30]

用于创建、操作和研究复杂网络的结构、动力学和功能,适用于复杂网络的分析。(star 13.4K)

12、PythonFrameworks:Python 的各种框架汇总[31]

这个项目收录了 Python 中的各种框架,有 Web 框架、API 框架、CMS、ML&DL&AI、任务/消息队列、并行&分布式计算、工作流&管道、DevOps、爬虫、GUI&TUI,等等。提供有一个在线网站[32]

一部分Web框架

🐢播客&视频

1、core.py:一档新的 Python 播客[33]

由 Python 核心开发者 Pablo Galindo 和 Łukasz Langa 主理的播客,已推出两期节目:核心开发者 Sprint 及 Python 3.13.0 alpha 1[34]PEP-703:移除 GIL[35]

2、为什么静态类型又流行起来了?[36]

上世纪 90 年代诞生的 Python、Ruby、PHP 和 JavaScript 这些动态编程语言都在拥抱静态类型(mypy、Sorbet、Hack 和 TypeScript),诞生不算久的 Go、Kotlin、Dart 和 Rust 等都是静态类型。为什么静态类型卷土重来?这对未来意味着什么?

3、《Boost your Git DX》作者的两期播客

Adam Johnson[37] 新书《提升你的 Git 开发者体验》上市后,分别参加了Real Python Podcast #179[38]Pybites #139[39] 两期播客节目。

🐼欢迎订阅

  • 微信公众号[40]:除更新周刊外,还发布其它原创作品,并转载一些优质文章。(可加好友,可加读者交流群)
  • 博客[41]RSS[42]:我的独立博客,上面有历年原创/翻译的技术文章,以及从 2009 年以来的一些随笔。
  • Github[43]:你可以获取本周刊的 Markdown 源文件,做任何想做的事!
  • 邮件[44]:在 Substack 上开通的频道,满足你通过邮件阅读时事通讯的诉求。
  • Telegram[45]:除了发布周刊的通知外,我将它视为一个“副刊”,补充发布更加丰富的资讯。
  • Twitter[46]:我的关注列表里有大量 Python 相关的开发者与组织的账号。

参考资料

[1]

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

[2]

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

[3]

Kenneth Reitz:迟来的道歉,以及 requests 3 的进展: https://kennethreitz.org/essays/why-im-not-collaborating-with-kenneth-reitz

[4]

Why I'm not collaborating with Kenneth Reitz: https://vorpus.org/blog/why-im-not-collaborating-with-kenneth-reitz/

[5]

grequests:异步的 HTTP 请求: https://coderslegacy.com/python-grequests-making-asynchronous-http-requests/

[6]

开发一个 Python 编译器和解释器: https://mathspp.com/blog/tag:bpci

[7]

使用 Python+ChatGPT 开发一个书籍摘要 AI: https://levelup.gitconnected.com/build-an-ai-tool-to-summarize-books-instantly-828680c1ceb4

[8]

在线体验网站: https://gptsummarizer.streamlit.app/

[9]

数据库生成的列 :Django & SQLite: https://www.paulox.net/2023/11/07/database-generated-columns-part-1-django-and-sqlite/

[10]

Django 5.0 中的新东西: https://fly.io/django-beats/new-goodies-in-django-50/

[11]

你能用 Python 的 bisect 模块做到这些事: https://martinheinz.dev/blog/106

[12]

为什么说在 Windows 上为 Python 3.12 构建的 SciPy 是一个小奇迹?: https://labs.quansight.org/blog/building-scipy-with-flang

[13]

使用 AI 进行网页抓取实验(使用 GPT-4 解析 HTML): https://serpapi.com/blog/web-scraping-and-parsing-experiment-with-ai-openai/

[14]

Django vs Flask:哪个是最好的 Python Web 框架?: https://blog.jetbrains.com/pycharm/2023/11/django-vs-flask-which-is-the-best-python-web-framework/

[15]

在 Mac 上安装 Python 的正确方法: https://marvelousmlops.substack.com/p/the-right-way-to-install-python-on

[16]

用 Python 开发简单的 Android 数据分析应用: https://www.techbeamers.com/simple-android-data-analytics-app-in-python/

[17]

改进 Numpy 的 Python API,为 2.0 版本准备: https://labs.quansight.org/blog/numpy-python-api-cleanup

[18]

填写地址: https://survey.alchemer.com/s3/7554174/python-developers-survey-2023

[19]

pyvideotrans:视频的语言翻译,并添加配音: https://github.com/jianchang512/pyvideotrans

[20]

pyink:Google 内部修改 Black 而成的代码格式化工具: https://github.com/google/pyink

[21]

sqlmodel:Python 中的 SQL 数据库: https://github.com/tiangolo/sqlmodel

[22]

wagtail:一个 Django 内容管理系统: https://github.com/wagtail/wagtail

[23]

Django Admin 丑陋: https://www.coderedcorp.com/blog/why-is-the-django-admin-ugly/

[24]

NBA-Machine-Learning-Sports-Betting:使用机器学习的 NBA 比赛预测: https://github.com/kyleskom/NBA-Machine-Learning-Sports-Betting

[25]

Python_EBook_Free:Python 电子书和资源: https://github.com/FarhaKousar1601/Python_EBook_Free

[26]

pathway:高吞吐量和低延迟实时数据处理框架: https://github.com/pathwaycom/pathway

[27]

prefect:一个工作流编排工具,构建数据管道: https://github.com/PrefectHQ/prefect

[28]

VideoCrafter:生成高质量视频模型: https://github.com/AILab-CVC/VideoCrafter

[29]

程序员值得看的 42 个学习资源: https://madza.hashnode.dev/42-developer-resources-to-kickstart-your-coding-journey

[30]

networkx:Python 的网络分析库: https://github.com/networkx/networkx

[31]

PythonFrameworks:Python 的各种框架汇总: https://github.com/jgu-bytes/PythonFrameworks

[32]

在线网站: https://pythonframeworks.com/

[33]

core.py:一档新的 Python 播客: https://podcasters.spotify.com/pod/show/corepy

[34]

核心开发者 Sprint 及 Python 3.13.0 alpha 1: https://podcasters.spotify.com/pod/show/corepy/episodes/Episode-1---Core-Sprint-in-Brno--Python-3-13-0-alpha-1-e2apebk

[35]

PEP-703:移除 GIL: https://podcasters.spotify.com/pod/show/corepy/episodes/Episode-2---PEP-703-Removing-the-GIL-e2b8egi

[36]

为什么静态类型又流行起来了?: https://www.youtube.com/watch?v=Tml94je2edk

[37]

Adam Johnson: https://twitter.com/AdamChainz

[38]

Real Python Podcast #179: https://realpython.com/podcasts/rpp/179/

[39]

Pybites #139: https://pybit.es/articles/maximizing-your-dx-with-adam-johnson/

[40]

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

[41]

博客: https://pythoncat.top

[42]

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

[43]

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

[44]

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

[45]

Telegram: https://t.me/pythontrendingweekly

[46]

Twitter: https://twitter.com/chinesehuazhou

如果你觉得本文有帮助
请慷慨分享点赞,感谢啦

浏览 1532
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报