告别信息碎片,「Python潮流周刊」为你带来最优质的Python技术资讯

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

本期分享了 13 篇文章,13 个开源项目,全文 2300 字。

🦄文章&教程

1、Python 的包管理工具真是多啊

Python 的包管理生态说得好听点是多元化,难听点就是支离破碎。作者对 10 几个 Python 包管理/虚拟环境管理工具做了个简单盘点,最后的建议是:数据科学/实验人员用conda,其他人在生产环境用pippoetry。(附:一篇中文翻译

2、用 Flask 和 HTMX 开发一个动态博客(第 1 篇)

一个 Python Web 全栈开发系列,使用 Flask 和 HTMX 开发一个具有交互性的博客,。该系列第二篇是高级版,加入了 TailwindCSS 和身份验证的功能。

3、PySkyWiFi:利用航空公司漏洞,实现免费上网

作者在飞机上发现连 Wi-Fi 需要填信用卡,但能免费登录航空里程账户。于是,想出不断更新账号的个人资料来实现消息传递的方法。文章介绍了实现原理,实现了几个原型,包括即时通讯、时事新闻/股价和足球比分消息等,也给出了提升效率和改进的思路。

4、让 Python 失去随机性

作者遇到一个跟随机数有关的 bug,于是研究如何让随机数变得可预测,并想完全不改动现有的 Python 代码。介绍了如何用ptrace来拦截和修改对getrandom 的系统调用。

5、ChatGPT 沙盒中 Linux 系统的秘密

ChatGPT 能在沙盒环境中执行 Python 代码和系统命令,作者揭开了它的神秘面纱,原来是 Azure 云平台 K8S 集群的机器,作者尝试了多种命令包括查看进程、访问网络、上传和下载文件等,还找到沙盒环境的完整 Python 源码,大约 650 行。

6、我用 AI 自动将帽子戴到窗外的纽约人头上

一个很有意思的项目,作者使用 AI、树莓派和电机装置创建一个自动从窗户投放帽子的项目,已开放线上售卖,这真是一种新颖的购物体验!

7、pip 与 uv:Streamlit Cloud 如何将程序加载时间缩短 55%?

uv 是用 Rust 开发的 pip 替代库,Streamlit 云采用它后,相比 pip 获得了极大的速度提升。文章分析了为什么 pip 那么慢,以及 uv 使用了哪些提升性能的技巧。

8、讲座:CPython JIT (Chipy 2024)幻灯片和参考链接

作者本周在芝加哥 Python 聚会小组(The Chicago Python Meetup Group)发表了关于 CPython JIT 的演讲,这篇文章包含他分享时完整的 PPT 和相关资料。(附:如何上手最新的 CPython JIT?

9、Python 包命名的最佳实践

通常一个 Python 软件包的名称跟它的模块名称一样,但这仅是不成文的约定。文章获取了 PyPI 上最受欢迎的 8000 个包,分析它们的命名,发现有 81% 的包名和模块名一样。文章还分析了其它内容,包括命名空间、常用的前缀/后缀等。

10、系统调用的对决:Python 与 Ruby 的差异

作者开发的Cirron 库能跟踪系统调用并记录单行代码的性能。文章利用它来对比了 Python 和 Ruby 在文件 IO、生成随机数、显示时间、打印字符串等操作时,系统调用命令及耗时的差异。

11、利用 GitHub Action 做爬虫,并将数据存在 SQLite 数据库中

介绍了如何让 Github Action 自动执行爬虫程序,并将爬到的数据保存到 Github Artifact 里,全免费无需服务器。文章介绍了相关流程、配置内容和实现限制等。

12、我从 35 年软件开发生涯中得到的 12 条经验教训

作者从事软件开发 35 年,给大家分享 12 条深刻的经验教训,主要是些软技能,包括以最直接的方式做事、人际关系很重要、永远不要隐身、心甘情愿做事,等等。

13、写给 15 年前的自己的 10 条编程建议

作者作为一名经验丰富的程序员,很希望自己能早点看到这些建议:主动修复易被忽视的小问题、权衡开发速度与代码质量、简化复杂问题、对 BUG 刨根问底、接受不完美代码,等等。

🎁Python潮流周刊🎁第 1 季精华内容已整理成精美电子书(EPUB/PDF),请给 Python猫 公众号发送“W30”,获取免费下载链接。

🐿️项目&资源

1、dnstwist:检测域名的钓鱼攻击、拼写错误抢注和品牌冒充

DNS 模糊测试,检测可能的恶意域名,发现网络钓鱼攻击和品牌冒充等问题。(star 4.7K)

2、posting:位于终端里的现代 API 客户端

在终端上的类 Postman 和 Insomnia HTTP 客户端,支持语法高亮、Vim 快捷键、各种内置主题、可自动补全的环境变量、用于快速访问的命令面板,等等。(star 1.9K)

3、filesystem_spec:Python 文件系统应遵守的规范

为文件系统的接口生成模板和规范文件,以便提供稳定可靠的通用行为。Pandas、Dask 和 Huggingface Datasets 等库在内部都使用了这个库。

4、babel:Python 国际化库

主要用于 Web 项目做国际化,处理多语言的展示问题。(star 1.3K)

5、fastapi-docker-temp:基于 FastAPI 的最小化 Docker 项目模版

可用于快速搭建和部署基于 FastAPI 的服务,技术栈还包括数据库映射 SQLModel、依赖管理 Poetry、数据库迁移 Alembic。

6、crawlee-python:Python Web 抓取和浏览器自动化库

提取 AI、LLMsRAG 或 GPT 的数据。从网站下载 HTML、PDF、JPG、PNG 和其它文件,适用于 BeautifulSoup、Playwright 和原生 HTTP。提供有头和无头模式,支持代理轮换。(star 1K)

7、django-sql-explorer:通过 SQL 查询,在整个公司内轻松共享数据

基于 Django 的项目,在 SQL 编辑器中编写和共享 SQL,在浏览器中查看结果。支持添加 LLM 助手,帮忙编写和调试 SQL。(star 2.7K)

8、pyxel:Python 的像素风游戏开发引擎

用 Python 开发像素风的复古游戏,可在 Windows、Mac、Linux 和 Web 上运行,支持键盘、鼠标及游戏手柄输入。(star 14K)

9、0xtools:分析 Linux 系统上应用的性能

针对 Linux 系统的 X 光透视,检测程序性能。支持测量线程级活动,查看单个线程或整个系统的 CPU 使用率。(star 1.2K)

10、Secator:渗透测试人员的瑞士军刀

实用的工具集,可运行安全评估的任务和工作流,支持数十种知名安全工具,提高渗透测试人员和安全研究员的工作效率。

11、rss2newsletter:将 RSS/Atom feed 转换为邮件通讯

将 RSS 转换为邮件,100% 免费开源,与 listmonk 集成发送邮件。

12、vectorlite:SQLite 的快速可调节的向量搜索扩展

SQLite 的运行时可加载扩展,支持基于 hnswlib 的快速 ANN 搜索,支持 Windows、MacOS 和 Linux。

13、LivePortrait:让人像肖像栩栩如生

由快手、中科大和复旦大学开源的人物肖像动画模型,支持音视频串联、驱动视频自动裁剪、模板制作等。(star 6K)

🐧 往年回顾

Python潮流周刊#10:Twitter 的强敌 Threads 是用 Python 开发的!(2023.07.08)

🐱欢迎订阅

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

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

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

支持 Python猫