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

🐱品牌赞助

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

🦄文章&教程

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

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

2、grequests:异步的 HTTP 请求

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

🐿️项目&资源

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

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

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

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

3、sqlmodel:Python 中的 SQL 数据库

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

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

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

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

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

6、Python_EBook_Free:Python 电子书和资源

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

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

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

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

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

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

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

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

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

11、networkx:Python 的网络分析库

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

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

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

🐢播客&视频

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

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

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

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

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

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

🐼欢迎订阅

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