你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。标题取自其中两则分享,不代表全部内容都是该主题,特此声明。

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

微信 | 博客 | 邮件 | Github | Telegram | Twitter

本周的大新闻一个接一个啊!微软在 Python 之父 Guido 的帮助下,在 Excel 中集成了 Python;Meta 开源了 Code Llama,让程序员看到拥有自己编码助手的福音;Mojo 宣布 1 亿美元的巨额融资,势头之猛让人惊叹。本期周刊还分享了几则关于 FastAPI 的内容、大量学习资源、100 多个新鲜出炉的演讲视频等等,不容错过哟~~

来源:https://pythoncat.top/posts/2023-08-26-weekly

🦄文章&教程

1、Excel 终于支持 Python 了!

本周的重磅新闻!微软将 Python 引入到 Excel 中,支持在 Excel 中使用 Python 强大的数据分析、统计建模以及数据可视化库(pandas、statsmodels、Matplotlib 和 seaborn 等)。Guido 发推表示他参与了这个项目。

2、如何使用 FastAPI 与 aiohttp 进行 SSE 响应开发?

Server-Sent Events(服务器推送事件)可以让服务端一边生成内容,一边将数据返回给客户端。文章介绍了 FastAPI 如何使用 SSE 方式返回数据,并用 requests 和 aiohttp 来获取与展示接口数据。

3、用 FastAPI 和 Hamilton 实现的 PDF 摘要工具

文章使用 FastAPI、Hamilton、Streamlit 和 ChatGPT 开发了一个 PDF 文件摘要工具,介绍了项目的设计思路、架构设计与编程实现,效果图如下:

PDF摘要工具的效果图

4、放弃 Python 拥抱 Mojo?鹅厂工程师真实使用感受

Mojo 是 LLVM 作者发布的一门新语言,完全兼容 Python 的语法。这篇文章上手体验了 Mojo 编程,对比 Python 讨论了它的一些语法、特性以及当前存在的问题。

5、Mojo 如何获得比 Python 快 35000 倍的加速?

Mojo 在生成曼德博集合时比 Python 快 35000 倍,这篇文章介绍了为什么要选用曼德博算法作衡量,以及 Mojo 语言做了哪些优化来实现高性能?(附:Mojo 所属的公司 Modular 本周宣布获得 1 亿美元融资,总融资已达到 1.3 亿美元!!)

6、APL 语言教会我的那些 Python 知识

APL 是在 1960 年代开发的一种高度符号化的编程语言,作者在学习这门语言后,反而加深了对 Python 编程的理解。作者受到触动的只是简单的一行代码,但它包含了内置函数、布尔值、数据驱动、列表推导式等 Python 优雅编程的要素。(附:从这 27 门编程语言中,也可以加深对 Python 的理解

7、深度解析 Jupyter 的内核架构

Jupyter Notebooks 非常强大,它是如何做到的呢?这篇文章分析了 Jupyter 架构的内核以及一些有趣的实现细节,包括代码的执行工作流、代码解析执行、自动补全、代码检查、调试、虚拟输入、客户端和网关等。作者预告后续还会解析 Jupyter Server、JupyterLab、JupyterHub、Jupyter Enterprise Gateway 等项目。

Jupyter的内核架构

8、Fixit 2:Meta 的下一代自动修复 linter

Meta 开源的 linter 工具 Fixit 发布了2.0 版本,它支持自动修复问题,支持用户自定义 lint 规则。这篇文章介绍了 Meta 在使用 Flake8 时遇到的问题、为什么要开发 FIXit,以及为什么要重构出 Fixit 2 这个新版本?

9、使用 Python 构建代码图像生成器

一篇超级详细的全栈实战教程,涉及技术有 Flask、Jinja、Playwright、Pygments 和 Javascript,实现的是一个代码-图片生成器,也就是可以给代码片段添加样式并生成美观的图片。

10、apipkg 教程:Python 中的增强延迟加载

周刊第 16 期分享了一篇 importlib 实现延迟加载的文章,这篇文章中的 apipkg 也能实现同样的效果,但用法稍有不同,可以对照学习。

11、当 asyncio、twisted、tornado 和 gevent 一起走进酒吧...

当谈到 Python 并发时,就离不开标题的这些库。文章介绍和对比了这几个库,讨论了它们的设计与使用。那么,该使用哪个异步库呢?

12、Python 标准化锁定文件的现状

作者想给 Python 提供一种标准化的依赖包锁定文件,曾在 2021 年发起了 PEP-665 ,但因为缺少对 sdist 的支持而被拒绝了。作者现在做了一些概念验证的事情,计划有 5 步,目前进展到第 3 步。(附:本月新发起的 PEP-725 – 在 pyproject.toml 中指定外部依赖项

13、Python:只需编写 SQL

作者看到 Go 编程时不喜欢用 ORM,因此也想尝试不用 ORM 而在 Python 中直接写 SQL。这种回归传统做法的主要问题是会混淆数据库操作与业务逻辑,但并不是不可行。

14、Python 中如何比较不兼容的类型?

一篇很详细的基础教程,探讨了TypeError 的含义、出现的原因以及解决方法。文章非常之细致,介绍了 20 多种容易出错的场景,有些是初学者问题,但也有些是老手也易忽视的编程细节。

15、使用 Python 开发一个文件比较工具

有很多版本管理和差异比较工具,但是能否用 Python 开发一个简单的工具实现呢?文章使用 difflib、argparse 和 HtmlDiff 分别开发了命令行工具和 HTML 网页两个版本的文件比较工具。

16、我最喜欢的素数生成函数

埃拉托斯特尼筛法是一种生成素数的算法,作者提供了一个 Python 实现,但是代码的性能和内存占用是主要的问题,因此作者做了一些优化改进,最后给出了一个有详细注释的优化版本。

🎁Python潮流周刊🎁已免费发布了 17 期,访问下方链接,即可查看全部内容:https://pythoncat.top/tags/weekly

原文:https://pythoncat.top/posts/2023-08-26-weekly

🐿️项目&资源

1、codellama:Meta 最新开源的代码生成模型

本周最火的开源项目!Code Llama 基于 Llama 2,可免费商用,可预见不久的将来会出现大量的编程工具!目前支持的语言包括 Python、C++、Java、PHP、Typescript/Javascript、C# 和 Bash。值得一提的是,它包含一个“Code Llama – Python”专用版本,基于 100B token 微调!(star 4K)

2、seamless_communication:最先进的语音和文本翻译的基础模型

SeamlessM4T 也是 Meta 开源的项目,旨在提供高质量的翻译,让不同语言的人通过语音和文本轻松交流。支持 101 种语言的语音输入、96 种语言的文本输入与输出、35 种语言的语音输出。(star 3.7K)

3、Torchscale:(M)LLM 的基础架构

微软开源的一个 PyTorch 库,可让开发者高效地扩展 Transformers,聚焦于提升建模的能力与通用性,同时提升训练的稳定性与效率。(star 2.4K)

4、fastapi-best-practices:FastAPI 的最佳实践

这个 Github 项目是一篇集合了 20 多项 FastAPI 最佳实践的长文,包括项目结构、数据校验、解耦与重用依赖、遵循 REST、文档、linter 等等话题。(star 4.5K)

5、yappi:又一个 Python Profiler,支持多线程、asyncio 和 gevent

yappi 是 PyCharm 默认的性能分析器之一,它是用 C 编写的,支持多线程、asyncio 和 gevent,可以显示挂机时间与实际 CPU 时间。(star 1.2K)

6、funNLP:几乎最全的中文 NLP 资源库

一个非常丰富的资料库,包含 NLP/人工智能的大量内容。(star 55.7K)

7、prettymapp:在 Web 应用中创建精美的地图

这是一个 Web 应用和 Python 包,可从 OpenStreetMap 获取数据生成漂亮的地图作品。它基于另一个有 10K star 的项目 prettymaps ,主要简化了配置、降低代码复杂性、并使用 streamlit 开发了 Web 端应用。(star 1.7K)

美观的地图

8、pycparser:纯 Python 实现的完整 C99 解析器

一个用 Python 写的 C 语言解析器,可轻松集成到需要解析 C 源代码的程序中。它最主要的用途是在 cffi 库中,用于解析 C 函数和类型的声明。(star 3K)

9、quivr:生成式 AI 打造你的第二大脑

利用生成式 AI 来存储和检索非结构化的信息,可以理解成支持人工智能的 Obsidian。可以处理各种形式的文件如文本、图片、代码、音频和视频等,依赖于 ChatGPT、Docker、Supabase,只支持操作系统是 Ubuntu 22+。(star 21.7K)

10、KeymouseGo: 类似按键精灵的鼠标键盘录制和自动化操作

一个中文项目。记录用户的鼠标键盘操作,通过触发按钮自动执行之前记录的操作,可设定执行的次数,可以理解为精简绿色版的按键精灵。支持 Windows、Linux 和 Mac 系统。(star 4.3K)

11、ahkunwrapped:集成 AutoHotkey,用 Python 执行自动化

AutoHotkey 是一种自动化脚本语言和工具,用于在 Windows 上创建快捷键、宏和自动化任务,例如模拟按键和鼠标操作、窗口管理、剪贴板操作、自动化表单填写等。这个项目覆盖了 AutoHotkey API,使用 Python 来桥接,扩展 AutoHotkey 的能力。

12、100+ AI/机器学习/深度学习/计算机视觉/NLP 项目与代码

这个仓库收录了很多学习资源,其中很多也是一些聚合类的项目,也就是说实际包含的项目与资料有上万之多。(star 13.2K)

13、trafilatura:一个采集 Web 文本的工具

一个 Python 包和命令行工具,可以处理 Web 的文本信息,并转化成各种常用格式输出。包含爬虫功能、HTML 解析、网页内容萃取等等。(star 1.9K)

🐢播客&视频

1、2023 年 PyCon 澳大利亚的 84 个视频

澳大利亚今年 PyCon 上的演讲视频。目前已发布 84 个视频。

2、2023 年 Pycon 以色列的 23 个视频

以色列今年 PyCon 上的演讲视频。目前已发布 23 个视频。

3、2023 年 SciPy Talk 的 44 个视频

SciPy Talk 是科学计算领域的年度会议,通常涵盖数据分析、机器学习、人工智能、科学可视化等话题。目前已发布 44 个视频。

🥂讨论&问题

1、如果只懂 Python,如何构建 Web 程序的前端?

独自一人开发,想要快速实现全栈的 SaaS 应用,支持用户身份验证、订阅、付款等业务功能,前端该如何选择呢?Reddit 上的这个帖子,或许能给你提供一些思路/方法。

2、V2EX 上三则关于 Python 后端的热门讨论

近期在 Python 节点下最热闹的三篇帖子:Python 后端该如何提升自己呢?深夜睡不着,思考为什么国内 Python Web 后端太少Python 做后端,相对于 Java 或者 go 来说,到底差在哪? 从就业的角度来看,Python 后端在国内确实偏少,不仅后端,其它领域也有一种“热度退潮”的感觉(除了 AI 相关)。Python 潮流周刊的创刊想法之一就是去欧美盗火,为国内 Python 社区注入活力。愿论坛里将来能少一些沮丧性的、要抛弃 xx 另附高枝的情绪吧。

🐱赞助&支持

如果你喜欢周刊,请分享给其他需要的同学,让更多人可以从中受益~

如果你觉得周刊有价值,请随意赞赏买杯咖啡 进行支持!

如果你想帮助周刊办得更好,欢迎向我们投稿或提出建议:投稿/建议通道

如果你是品牌方或广告主,欢迎私信我,洽谈赞助与合作事项。

🐼欢迎订阅

原文:https://pythoncat.top/posts/2023-08-26-weekly

- 微信公众号:除更新周刊外,还发布其它原创作品,并转载一些优质文章。(可加好友,可加读者交流群)

- 博客RSS:我的独立博客,上面有历年原创/翻译的技术文章,以及从 2009 年以来的一些随笔。

- Github:你可以获取本周刊的 Markdown 源文件,做任何想做的事!

- 邮件:在 Substack 上开通的频道,满足你通过邮件阅读时事通讯的诉求。

- Telegram:除了发布周刊的通知外,我将它视为一个“副刊”,补充发布更加丰富的资讯。

- Twitter:我的关注列表里有大量 Python 相关的开发者与组织的账号。