你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。另有电报频道作为副刊,补充发布更加丰富的资讯,欢迎关注。
本期分享了 12 篇文章,12 个开源项目,全文 2000 字。
我们上期周刊分享过 free-threaded-compatibility ,作者也看到这个项目,于是安装体验,他用 CPU 密集型任务作测试,得到超高 CPU 使用率和性能提升。
2、PEP-751:一种列出 Python 依赖项的文件格式,确保可重复安装
本周新创建的一篇 PEP 草案,是已被拒绝的 PEP-665 的替代。它目标是定义一种标准文件,用于管理 Python 依赖项。社区里已有 pip freeze 、pip-tools、Poetry 和 PDM 等解决方案,这篇提案试图提出一种官方标准。
作者分享了自己在 Python 依赖/环境管理和相关工具使用的项目模板,以 Rye/Ruff 为核心工具,覆盖项目设置、linting、类型检查、测试、文档、CI/CD 等方面,以及管理 Monorepo 的相关配置。(附:作者 4 年前的一系列关于 Python 项目管理的文章)
即时搜索指的是在用户输入搜索内容时立刻显示搜索结果,无需等待页面重载,用户体验更好。这篇教程使用 Flask 和 HTMX 实现了简单的即时搜索功能。
5、Streamlit 101:Python 数据应用的基础
Streamlit 可使数据科学家轻松构建交互式数据应用。这是来自官方的入门教程,介绍了 Streamlit 的基本知识和使用方法等,包含 5 个实用示例。
6、使用 Python + ToolJet 开发一个 CSV 到图表的生成器应用
ToolJet 是一个开源低代码平台,Github 星星数超过 28K,支持运行 JS 和 Python 代码。这篇教程演示了如何用它设计用户界面、集成 Python 代码,利用 CSV 文件生成多种格式的图表。

文章分享了一些简单的技巧,让基于 FastAPI + Pydantic 的 REST API 运行得更快。
8、用 Django + daisyUI + TailwindCSS 开发一个项目
这篇教程分享了一个完整的 Python 全栈项目,功能是支持上传及合并多个 PDF 文件,支持登录和身份校验。
文章介绍了在使用 Python 生成器和异步生成器时,如何确保资源的清理和释放。介绍的方法包括内联生成器调用、用del语句或close方法显式清理、上下文管理器清理等。
10、用 Python 数据帧在笔记本电脑上查询 1TB 数据
使用 Pandas 处理较大数据量时,容易出现内存不足。作者测试了用 Pandas、Polars 和 Ibis(两种后端 DuckDB 和 DataFusion) 处理 1 TB,展示了 Ibis 在处理大数据量时的巨大优势。
在 Python 中处理日期时间时,需要关注时区问题,特别是将纪元时间戳转换为 datetime 对象时。推荐使用 datetime.utcnow() 而非 datetime.now() ,不依赖系统的默认时区配置。
Selenium 是一个使用广泛的开源 Web 自动化测试工具,这篇文章介绍了 10 个替代工具,简单介绍了它们的优缺点。
1、whenever:用 Rust 开发的 Python 日期时间库
Rust开发的类型安全的支持夏令时的 Python 日期时间库,拥有高性能,支持最新的 GIL 实验版本。

2、maelstrom:高速的 Rust 和 Python 测试运行器
在本地独立容器或分布式集群中运行测试,每个测试都在轻量级容器中运行,避免其它测试和环境的干扰。目前只支持 Linux。
在代码运行时检测一个 Python 对象的类型、格式化值、变量、方法、父类型、签名、文档,甚至是源码。
4、txtai:用于语义搜索、LLM 编排和大模型工作流的嵌入数据库
集多种用途一体的嵌入数据库,是向量索引、图网络和关系数据库的结合。可以用 SQL 进行向量搜索、主题建模、检索增强生成(RAG)等操作。(star 8.1K)
5、PraisonAI:将 AutoGen 和 CrewAI 等框架集成低代码解决方案
一种低代码、集中式框架,旨在简化各种 LLM 应用的多代理系统的创建和编排。支持自动创建 AI 代理,可与整个代码库聊天,多种用户界面。(star 1.8K)
基于 Web 的数据库客户端,支持 PostgreSQL、SQLite、MySQL、MariaDB 和 Oracle 等。支持可视化数据库性能指标、管理 PostgreSQL 服务器配置和备份等功能。

主要面向小孩子/初学者,以命令行终端作为开发环境,快速开发 2D 游戏。跨平台,不依赖显卡,激发想象力和创造力。
只需一行代码,即可为 AI 代理集成高质量的工具,支持 100+ 工具和大模型,支持 6 种不同的身份验证协议,可插拔设计。(star 4K)
利用 AI 读取屏幕截图作为输入,控制鼠标和键盘操作,像人类一样完成复杂的计算机任务,如玩游戏、浏览网页、发邮件、使用办公软件等。(star 1.4K)
10、lonboard:用 Jupyter 做地理空间矢量数据可视化
以 GeoArrow 和 GeoParquet 等尖端技术为基础,结合基于 GPU 的地图渲染,通过简单的界面交互,可视化大型地理空间数据集。
Python 开发的多协议网络蜜罐,对资源要求极低,可部署在树莓派。模拟一系列可通过网络访问的服务,检测到潜在威胁时,以多种方式发送告警。(star 2.2K)
AI 时代的 ETL 工具,加快数据管道开发。利用 pandas、DuckDB 和 LangChain 等库生成原生 Python 代码。支持自托管。

Python 潮流周刊#12:Python 中如何调试死锁问题?(2023.07.22)
技术周刊是聪明人在信息过载时代中筛选优质知识的聪明手段。这是一个专为国内 Python 开发者量身打造的资讯平台,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等丰富内容。立即订阅,每周将收到一篇文章推送,每周进步一点点。
欢迎留言,说说你最喜欢本期的哪一则分享?大家反馈得越多,我今后分享的也会越多!
欢迎将本专栏分享给同样爱学习的同学,当有人通过你分享的海报或者链接,购买了专栏,那么你将获得高额的返利。
你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。另有电报频道作为副刊,补充发布更加丰富的资讯,欢迎关注。
本期分享了 12 篇文章,12 个开源项目,全文 2000 字。
我们上期周刊分享过 free-threaded-compatibility ,作者也看到这个项目,于是安装体验,他用 CPU 密集型任务作测试,得到超高 CPU 使用率和性能提升。
2、PEP-751:一种列出 Python 依赖项的文件格式,确保可重复安装
本周新创建的一篇 PEP 草案,是已被拒绝的 PEP-665 的替代。它目标是定义一种标准文件,用于管理 Python 依赖项。社区里已有 pip freeze 、pip-tools、Poetry 和 PDM 等解决方案,这篇提案试图提出一种官方标准。
作者分享了自己在 Python 依赖/环境管理和相关工具使用的项目模板,以 Rye/Ruff 为核心工具,覆盖项目设置、linting、类型检查、测试、文档、CI/CD 等方面,以及管理 Monorepo 的相关配置。(附:作者 4 年前的一系列关于 Python 项目管理的文章)
即时搜索指的是在用户输入搜索内容时立刻显示搜索结果,无需等待页面重载,用户体验更好。这篇教程使用 Flask 和 HTMX 实现了简单的即时搜索功能。
5、Streamlit 101:Python 数据应用的基础
Streamlit 可使数据科学家轻松构建交互式数据应用。这是来自官方的入门教程,介绍了 Streamlit 的基本知识和使用方法等,包含 5 个实用示例。
6、使用 Python + ToolJet 开发一个 CSV 到图表的生成器应用
ToolJet 是一个开源低代码平台,Github 星星数超过 28K,支持运行 JS 和 Python 代码。这篇教程演示了如何用它设计用户界面、集成 Python 代码,利用 CSV 文件生成多种格式的图表。

文章分享了一些简单的技巧,让基于 FastAPI + Pydantic 的 REST API 运行得更快。
8、用 Django + daisyUI + TailwindCSS 开发一个项目
这篇教程分享了一个完整的 Python 全栈项目,功能是支持上传及合并多个 PDF 文件,支持登录和身份校验。
文章介绍了在使用 Python 生成器和异步生成器时,如何确保资源的清理和释放。介绍的方法包括内联生成器调用、用del语句或close方法显式清理、上下文管理器清理等。
10、用 Python 数据帧在笔记本电脑上查询 1TB 数据
使用 Pandas 处理较大数据量时,容易出现内存不足。作者测试了用 Pandas、Polars 和 Ibis(两种后端 DuckDB 和 DataFusion) 处理 1 TB,展示了 Ibis 在处理大数据量时的巨大优势。
在 Python 中处理日期时间时,需要关注时区问题,特别是将纪元时间戳转换为 datetime 对象时。推荐使用 datetime.utcnow() 而非 datetime.now() ,不依赖系统的默认时区配置。
Selenium 是一个使用广泛的开源 Web 自动化测试工具,这篇文章介绍了 10 个替代工具,简单介绍了它们的优缺点。
1、whenever:用 Rust 开发的 Python 日期时间库
Rust开发的类型安全的支持夏令时的 Python 日期时间库,拥有高性能,支持最新的 GIL 实验版本。

2、maelstrom:高速的 Rust 和 Python 测试运行器
在本地独立容器或分布式集群中运行测试,每个测试都在轻量级容器中运行,避免其它测试和环境的干扰。目前只支持 Linux。
在代码运行时检测一个 Python 对象的类型、格式化值、变量、方法、父类型、签名、文档,甚至是源码。
4、txtai:用于语义搜索、LLM 编排和大模型工作流的嵌入数据库
集多种用途一体的嵌入数据库,是向量索引、图网络和关系数据库的结合。可以用 SQL 进行向量搜索、主题建模、检索增强生成(RAG)等操作。(star 8.1K)
5、PraisonAI:将 AutoGen 和 CrewAI 等框架集成低代码解决方案
一种低代码、集中式框架,旨在简化各种 LLM 应用的多代理系统的创建和编排。支持自动创建 AI 代理,可与整个代码库聊天,多种用户界面。(star 1.8K)
基于 Web 的数据库客户端,支持 PostgreSQL、SQLite、MySQL、MariaDB 和 Oracle 等。支持可视化数据库性能指标、管理 PostgreSQL 服务器配置和备份等功能。

主要面向小孩子/初学者,以命令行终端作为开发环境,快速开发 2D 游戏。跨平台,不依赖显卡,激发想象力和创造力。
只需一行代码,即可为 AI 代理集成高质量的工具,支持 100+ 工具和大模型,支持 6 种不同的身份验证协议,可插拔设计。(star 4K)
利用 AI 读取屏幕截图作为输入,控制鼠标和键盘操作,像人类一样完成复杂的计算机任务,如玩游戏、浏览网页、发邮件、使用办公软件等。(star 1.4K)
10、lonboard:用 Jupyter 做地理空间矢量数据可视化
以 GeoArrow 和 GeoParquet 等尖端技术为基础,结合基于 GPU 的地图渲染,通过简单的界面交互,可视化大型地理空间数据集。
Python 开发的多协议网络蜜罐,对资源要求极低,可部署在树莓派。模拟一系列可通过网络访问的服务,检测到潜在威胁时,以多种方式发送告警。(star 2.2K)
AI 时代的 ETL 工具,加快数据管道开发。利用 pandas、DuckDB 和 LangChain 等库生成原生 Python 代码。支持自托管。

Python 潮流周刊#12:Python 中如何调试死锁问题?(2023.07.22)
技术周刊是聪明人在信息过载时代中筛选优质知识的聪明手段。这是一个专为国内 Python 开发者量身打造的资讯平台,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等丰富内容。立即订阅,每周将收到一篇文章推送,每周进步一点点。
欢迎留言,说说你最喜欢本期的哪一则分享?大家反馈得越多,我今后分享的也会越多!
欢迎将本专栏分享给同样爱学习的同学,当有人通过你分享的海报或者链接,购买了专栏,那么你将获得高额的返利。