Python猫

Python 潮流周刊#66:Python 的预处理器

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

本期分享了 12 篇文章,12 个开源项目,1 则音视频,全文 2100 字。

🦄文章&教程[2]

1、Python 的预处理器[3]

作者认为 Python 拥有所有语言中最好的预处理器,文章介绍了如何实现自定义编解码器来扩展 Python 功能,例如支持递增递减运算符、支持使用大括号、支持执行 C/C++ 代码等。

2、用自定义扩展将 Scrapy 统计信息保存到数据库[4]

Scrapy 爬虫的统计信息(如请求数、响应数、运行时间等)可用于监控性能,文章介绍如何开发一个 Scrapy 扩展,通过 SQLAlchemy 将日志写入到数据库中。

3、2024 年了,是 Gevent 还是选择 asyncio Part 1?[5]

选择 Gevent 还是 asyncio?文章在主流 Web 框架(如 Django、FastAPI、Flask、Starlette)下测试随机读写数据库,发现在 ORM + MySQL Driver 的情况下,Gevent 的生态要好于 asyncio 的生态。

4、深入浅出 Python 代码混淆:原理与实践[6]

代码混淆是保护/隐藏源码的一种手段,文章深入介绍了 Python 中代码混淆的几种初级和高级的技术,包括变量/函数重命名、字符串加密、使用元编程、代码注入等。

5、PEP-752:包存储库命名空间[7]

该 PEP 提出了一种机制,允许组织为将来的上传预留包名前缀,用意是解决依赖混淆攻击的问题,并降低包名拼写错误抢注的发生率。

6、500 个 Python 解释器[8]

介绍了 GIL 的一些历史,它如何影响 Python 的 C API 设计和多线程性能,目前实现的一些技术改进,以及讨论了如何将 PEP-684 和 PEP-703 协同工作。

7、如何用 Python 开发一种查询语言?[9]

查询语言是用于从数据库或信息系统检索信息的语言,这篇教程实现的是简单的歌词查询语言。介绍了查询语言的优点、组成部分、语法设计、解析执行等内容。

8、用 Python 开发电子表格引擎[10]

作者分享自己开发电子表格引擎的经验,将表格视为图,其中单元格是节点,利用拓扑排序来计算单元格的依赖关系和求值顺序,实现公式计算功能。

9、用 n8n、Telegram、在线表单和 Python 实现 Web 自动化[11]

n8n 是一个工作流自动化工具,可连接各种应用、服务和 API。作者介绍他如何用 n8n 来编排 Python 爬虫、Telegram API 和邮件,实现任务自动化处理。

Image

10、Rye 和 uv:八月是 Python 打包的丰收季节[12]

Rye 项目移交给 Astral 半年了,Rye 与 uv 的融合越来越多,作者认为 uv 很快能成为打包工具的首选。文章也回顾了 Python 打包生态的发展,现今种类繁多的工具或许很快能诞生王者了?

11、如何用 LangChain 开发聊天机器人?[13]

LangChain 提供了与模型无缝集成、上下文管理和提示词工程的工具,可简化对话式聊天机器人的开发。文章介绍了它的工作原理,如何逐步开发一个带上下文的聊天机器人。

12、 GPU 编程系列之三,实现快排算法[14]

出自 Red Hat 官博的 GPU 编程系列,利用 GPU 的并行处理特性,实现 GPU 加速版的快排算法,文章解释了详细的计算过程。

🐿️项目&资源[15]

1、dir-assistant:用 LLM 与本地文件对话[16]

用本地或 API LLM 与当前目录下的所有文件聊天,使用上下文引导的检索增强生成技术。

2、lark-ticket:飞书工单的增强功能[17]

Lark Ticket 是飞书中用于创建和管理工单的功能,这个项目是它的扩展,增加了审批单提交时检查、结束时调用 API、审批字段转 API 字段等功能。(分享自@请叫我大萌萌)

3、py5book:py5 的 Juypter book 仓库[18]

Processing 是基于 Java 的开源编程语言和 IDE,py5 是将它与 Python 生态集成的工具,可与 Jupyter、numpy、matplotlib、Pillow 等库集成使用。

4、audiosample:类似 numpy 的音频操作库[19]

高效的音频处理工具,内存占用小,使用类似于 numpy 的语法,支持复杂的音频操作,适合数据加载和 ETL。

5、RAG_Techniques:关于检索增强生成(RAG)的各种先进技术[20]

全面的 RAG 技术合集,包含最先进的 RAG 增强功能、各种技术文档、实践指南、定期更新的最新进展等。(star 2.4K)

6、labelU:支持图片、音频和视频的数据标注工具[21]

一个综合性数据标注平台,专为处理多模态数据而设计,提供了一系列高级注释工具和高效的工作流程,可导出多种数据格式的结果。

7、magic-wormhole:安全地跨电脑传文件[22]

在电脑间传输任意大小的文件和目录,发送端生成一次性的口令,接收端输入它来完成认证。(star 19.8K)(附:该项目在 2016 年 PyCon 的演示文稿[23])

8、sudoku-solver:基于视觉的数独解题器[24]

利用计算机视觉和机器学习实现的数据解题工具,自动在数独空格上填充所有答案数字。

9、OpenBB:适合任何地方任何人的投资研究[25]

第一个免费且完全开源的金融平台,提供对股票、期权、加密货币、外汇、宏观经济、固定收益等内容的访问。(star 29.2K)

10、OpenHands:AI 软件工程师[26]

AI 与人类协作编程、修复 bug 并发布功能。写更少代码,创造更多价值。(star 30.6K)

Image

11、authentik:你需要的身份验证工具[27]

开源的身份认证和授权服务,提供了一套全面的解决方案,支持多因素认证、单点登录、基于角色或属性的访问控制、插件系统、自托管、审计与日志等。(star 11.9K)

12、13ft:自定义的 12ft.io 替代品[28]

12ft.io 是一个神奇的网站,可移除网页的弹窗、横幅、广告和付费墙,让你干净浏览。这个项目是它的开源替代,可自托管。(star 2.3K)

🐢播客&视频[29]

1、Talk Python To Me #472:2024 年 Flask 和 Pallets 的状态[30]

Flask 是主流的 Web 开发框架,现今发展得如何了呢?Pallets 组织维护着 Flask 以及 Jinja、Click、Werkzeug 等库,目前情况如何?播客嘉宾是 Flask 的首席维护者 David Lord,聊了项目维护及改进、社区活动、Flask 与 Quart 的融合等话题。

🐧 往年回顾[31]

Python 潮流周刊#16:优雅重要么?如何写出 Pythonic 的代码?[32] (2023.08.19)

🐱欢迎订阅[33]

技术周刊是聪明人在信息过载时代中筛选优质知识的聪明手段。这是一个专为国内 Python 开发者量身打造的资讯平台,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等丰富内容。立即订阅[34],每周将收到一篇文章推送,每周进步一点点。

欢迎留言,说说你最喜欢本期的哪一则分享?大家反馈得越多,我今后分享的也会越多!

欢迎将本专栏[35]分享给同样爱学习的同学,当有人通过你分享的海报或者链接,购买了专栏,那么你将获得 50% 的返利。

参考资料
[1] 

电报频道: https://t.me/pythontrendingweekly

[2] 

🦄文章&教程: https://xiaobot.net/p/python_weekly

[3] 

Python 的预处理器: https://pydong.org/posts/PythonsPreprocessor

[4] 

用自定义扩展将 Scrapy 统计信息保存到数据库: https://www.xiegerts.com/post/scrapy-extension-save-crawlstats-postgres/

[5] 

2024 年了,是 Gevent 还是选择 asyncio Part 1?: https://www.manjusaka.blog/posts/2024/08/19/benchmark-for-python-web-framework-2024-part1-cn/

[6] 

深入浅出 Python 代码混淆:原理与实践: https://juejin.cn/post/7403670284556140553

[7] 

PEP-752:包存储库命名空间: https://peps.python.org/pep-0752/

[8] 

500 个 Python 解释器: https://izzys.casa/2024/08/463-python-interpreters/

[9] 

如何用 Python 开发一种查询语言?: https://jamesg.blog/2024/08/17/build-a-query-language/

[10] 

用 Python 开发电子表格引擎: https://jamesg.blog/2024/08/21/spreadsheet-engine/

[11] 

用 n8n、Telegram、在线表单和 Python 实现 Web 自动化: https://switowski.com/blog/web-automation/

[12] 

Rye 和 uv:八月是 Python 打包的丰收季节: https://lucumr.pocoo.org/2024/8/21/harvest-season/

[13] 

如何用 LangChain 开发聊天机器人?: https://blog.jetbrains.com/pycharm/2024/08/how-to-build-chatbots-with-langchain/

[14] 

GPU 编程系列之三,实现快排算法: https://developers.redhat.com/articles/2024/08/22/write-gpu-algorithm-quicksort

[15] 

🐿️项目&资源: https://xiaobot.net/p/python_weekly

[16] 

dir-assistant:用 LLM 与本地文件对话: https://github.com/curvedinf/dir-assistant/

[17] 

lark-ticket:飞书工单的增强功能: https://github.com/mydevops/lark-ticket

[18] 

py5book:py5 的 Juypter book 仓库: https://github.com/py5coding/py5book

[19] 

audiosample:类似 numpy 的音频操作库: https://github.com/deepdub-ai/audiosample

[20] 

RAG_Techniques:关于检索增强生成(RAG)的各种先进技术: https://github.com/NirDiamant/RAG_Techniques

[21] 

labelU:支持图片、音频和视频的数据标注工具: https://github.com/opendatalab/labelU

[22] 

magic-wormhole:安全地跨电脑传文件: https://github.com/magic-wormhole/magic-wormhole

[23] 

该项目在 2016 年 PyCon 的演示文稿: http://www.lothar.com/~warner/MagicWormhole-PyCon2016.pdf

[24] 

sudoku-solver:基于视觉的数独解题器: https://github.com/Taiters/sudoku-solver

[25] 

OpenBB:适合任何地方任何人的投资研究: https://github.com/OpenBB-finance/OpenBB

[26] 

OpenHands:AI 软件工程师: https://github.com/All-Hands-AI/OpenHands

[27] 

authentik:你需要的身份验证工具: https://github.com/goauthentik/authentik

[28] 

13ft:自定义的 12ft.io 替代品: https://github.com/wasi-master/13ft

[29] 

🐢播客&视频: https://xiaobot.net/p/python_weekly

[30] 

Talk Python To Me #472:2024 年 Flask 和 Pallets 的状态: https://talkpython.fm/episodes/show/472/state-of-flask-and-pallets-in-2024

[31] 

🐧 往年回顾: https://xiaobot.net/p/python_weekly

[32] 

Python 潮流周刊#16:优雅重要么?如何写出 Pythonic 的代码?: https://pythoncat.top/posts/2023-08-19-weekly

[33] 

🐱欢迎订阅: https://xiaobot.net/p/python_weekly

[34] 

立即订阅: https://xiaobot.net/p/python_weekly

[35] 

本专栏: https://xiaobot.net/p/python_weekly

Image
Image