你好,我是猫哥。这里每周分享优质的 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
文章&教程
本周的重磅新闻!微软将 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 文件摘要工具,介绍了项目的设计思路、架构设计与编程实现,效果图如下:
4、放弃 Python 拥抱 Mojo?鹅厂工程师真实使用感受
Mojo 是 LLVM 作者发布的一门新语言,完全兼容 Python 的语法。这篇文章上手体验了 Mojo 编程,对比 Python 讨论了它的一些语法、特性以及当前存在的问题。
5、Mojo 如何获得比 Python 快 35000 倍的加速?
Mojo 在生成曼德博集合时比 Python 快 35000 倍,这篇文章介绍了为什么要选用曼德博算法作衡量,以及 Mojo 语言做了哪些优化来实现高性能?(附:Mojo 所属的公司 Modular 本周宣布获得 1 亿美元融资,总融资已达到 1.3 亿美元!!)
APL 是在 1960 年代开发的一种高度符号化的编程语言,作者在学习这门语言后,反而加深了对 Python 编程的理解。作者受到触动的只是简单的一行代码,但它包含了内置函数、布尔值、数据驱动、列表推导式等 Python 优雅编程的要素。(附:从这 27 门编程语言中,也可以加深对 Python 的理解)
Jupyter Notebooks 非常强大,它是如何做到的呢?这篇文章分析了 Jupyter 架构的内核以及一些有趣的实现细节,包括代码的执行工作流、代码解析执行、自动补全、代码检查、调试、虚拟输入、客户端和网关等。作者预告后续还会解析 Jupyter Server、JupyterLab、JupyterHub、Jupyter Enterprise Gateway 等项目。
8、Fixit 2:Meta 的下一代自动修复 linter
Meta 开源的 linter 工具 Fixit 发布了2.0 版本,它支持自动修复问题,支持用户自定义 lint 规则。这篇文章介绍了 Meta 在使用 Flake8 时遇到的问题、为什么要开发 FIXit,以及为什么要重构出 Fixit 2 这个新版本?
一篇超级详细的全栈实战教程,涉及技术有 Flask、Jinja、Playwright、Pygments 和 Javascript,实现的是一个代码-图片生成器,也就是可以给代码片段添加样式并生成美观的图片。
周刊第 16 期分享了一篇 importlib 实现延迟加载的文章,这篇文章中的 apipkg 也能实现同样的效果,但用法稍有不同,可以对照学习。
11、当 asyncio、twisted、tornado 和 gevent 一起走进酒吧...
当谈到 Python 并发时,就离不开标题的这些库。文章介绍和对比了这几个库,讨论了它们的设计与使用。那么,该使用哪个异步库呢?
作者想给 Python 提供一种标准化的依赖包锁定文件,曾在 2021 年发起了 PEP-665 ,但因为缺少对 sdist 的支持而被拒绝了。作者现在做了一些概念验证的事情,计划有 5 步,目前进展到第 3 步。(附:本月新发起的 PEP-725 – 在 pyproject.toml 中指定外部依赖项)
作者看到 Go 编程时不喜欢用 ORM,因此也想尝试不用 ORM 而在 Python 中直接写 SQL。这种回归传统做法的主要问题是会混淆数据库操作与业务逻辑,但并不是不可行。
一篇很详细的基础教程,探讨了TypeError
的含义、出现的原因以及解决方法。文章非常之细致,介绍了 20 多种容易出错的场景,有些是初学者问题,但也有些是老手也易忽视的编程细节。
有很多版本管理和差异比较工具,但是能否用 Python 开发一个简单的工具实现呢?文章使用 difflib、argparse 和 HtmlDiff 分别开发了命令行工具和 HTML 网页两个版本的文件比较工具。
16、我最喜欢的素数生成函数
埃拉托斯特尼筛法是一种生成素数的算法,作者提供了一个 Python 实现,但是代码的性能和内存占用是主要的问题,因此作者做了一些优化改进,最后给出了一个有详细注释的优化版本。
Python潮流周刊已免费发布了 17 期,访问下方链接,即可查看全部内容:https://pythoncat.top/tags/weekly
原文:https://pythoncat.top/posts/2023-08-26-weekly
️项目&资源
本周最火的开源项目!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)
微软开源的一个 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)
一个非常丰富的资料库,包含 NLP/人工智能的大量内容。(star 55.7K)
这是一个 Web 应用和 Python 包,可从 OpenStreetMap 获取数据生成漂亮的地图作品。它基于另一个有 10K star 的项目 prettymaps ,主要简化了配置、降低代码复杂性、并使用 streamlit 开发了 Web 端应用。(star 1.7K)
8、pycparser:纯 Python 实现的完整 C99 解析器
一个用 Python 写的 C 语言解析器,可轻松集成到需要解析 C 源代码的程序中。它最主要的用途是在 cffi 库中,用于解析 C 函数和类型的声明。(star 3K)
利用生成式 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)
一个 Python 包和命令行工具,可以处理 Web 的文本信息,并转化成各种常用格式输出。包含爬虫功能、HTML 解析、网页内容萃取等等。(star 1.9K)
播客&视频
澳大利亚今年 PyCon 上的演讲视频。目前已发布 84 个视频。
以色列今年 PyCon 上的演讲视频。目前已发布 23 个视频。
SciPy Talk 是科学计算领域的年度会议,通常涵盖数据分析、机器学习、人工智能、科学可视化等话题。目前已发布 44 个视频。
讨论&问题
独自一人开发,想要快速实现全栈的 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 相关的开发者与组织的账号。