Python 潮流周刊#26:requests3 的现状
共 8324字,需浏览 17分钟
·
2023-11-12 11:09
△点击上方“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]。
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 调度器、数据库支持、身份验证及授权、测试、软件架构、学习曲线等方面的差异。没有更好的,只有是否适合你的。
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)
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)
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]。
🐢播客&视频
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 相关的开发者与组织的账号。
参考资料
投稿: 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