你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。另有电报频道[1]作为副刊,补充发布更加丰富的资讯,欢迎关注。
本期分享了 13 篇文章,13 个开源项目,全文 2300 字。
🦄文章&教程[2]
1、Python 的包管理工具真是多啊[3]
Python 的包管理生态说得好听点是多元化,难听点就是支离破碎。作者对 10 几个 Python 包管理/虚拟环境管理工具做了个简单盘点,最后的建议是:数据科学/实验人员用conda,其他人在生产环境用pip或poetry。(附:一篇中文翻译[4])
2、用 Flask 和 HTMX 开发一个动态博客(第 1 篇)[5]
一个 Python Web 全栈开发系列,使用 Flask 和 HTMX 开发一个具有交互性的博客,。该系列第二篇是高级版,加入了 TailwindCSS 和身份验证的功能。
3、PySkyWiFi:利用航空公司漏洞,实现免费上网[6]
作者在飞机上发现连 Wi-Fi 需要填信用卡,但能免费登录航空里程账户。于是,想出不断更新账号的个人资料来实现消息传递的方法。文章介绍了实现原理,实现了几个原型,包括即时通讯、时事新闻/股价和足球比分消息等,也给出了提升效率和改进的思路。
4、让 Python 失去随机性[7]
作者遇到一个跟随机数有关的 bug,于是研究如何让随机数变得可预测,并想完全不改动现有的 Python 代码。介绍了如何用ptrace来拦截和修改对getrandom 的系统调用。
5、ChatGPT 沙盒中 Linux 系统的秘密[8]
ChatGPT 能在沙盒环境中执行 Python 代码和系统命令,作者揭开了它的神秘面纱,原来是 Azure 云平台 K8S 集群的机器,作者尝试了多种命令包括查看进程、访问网络、上传和下载文件等,还找到沙盒环境的完整 Python 源码,大约 650 行。
6、我用 AI 自动将帽子戴到窗外的纽约人头上[9]
一个很有意思的项目,作者使用 AI、树莓派和电机装置创建一个自动从窗户投放帽子的项目,已开放线上售卖,这真是一种新颖的购物体验!
7、pip 与 uv:Streamlit Cloud 如何将程序加载时间缩短 55%?[10]
uv 是用 Rust 开发的 pip 替代库,Streamlit 云采用它后,相比 pip 获得了极大的速度提升。文章分析了为什么 pip 那么慢,以及 uv 使用了哪些提升性能的技巧。
8、讲座:CPython JIT (Chipy 2024)幻灯片和参考链接[11]
作者本周在芝加哥 Python 聚会小组(The Chicago Python Meetup Group)发表了关于 CPython JIT 的演讲,这篇文章包含他分享时完整的 PPT 和相关资料。(附:如何上手最新的 CPython JIT?[12])
9、Python 包命名的最佳实践[13]
通常一个 Python 软件包的名称跟它的模块名称一样,但这仅是不成文的约定。文章获取了 PyPI 上最受欢迎的 8000 个包,分析它们的命名,发现有 81% 的包名和模块名一样。文章还分析了其它内容,包括命名空间、常用的前缀/后缀等。
10、系统调用的对决:Python 与 Ruby 的差异[14]
作者开发的Cirron 库能跟踪系统调用并记录单行代码的性能。文章利用它来对比了 Python 和 Ruby 在文件 IO、生成随机数、显示时间、打印字符串等操作时,系统调用命令及耗时的差异。
11、利用 GitHub Action 做爬虫,并将数据存在 SQLite 数据库中[15]
介绍了如何让 Github Action 自动执行爬虫程序,并将爬到的数据保存到 Github Artifact 里,全免费无需服务器。文章介绍了相关流程、配置内容和实现限制等。
12、我从 35 年软件开发生涯中得到的 12 条经验教训[16]
作者从事软件开发 35 年,给大家分享 12 条深刻的经验教训,主要是些软技能,包括以最直接的方式做事、人际关系很重要、永远不要隐身、心甘情愿做事,等等。
13、写给 15 年前的自己的 10 条编程建议[17]
作者作为一名经验丰富的程序员,很希望自己能早点看到这些建议:主动修复易被忽视的小问题、权衡开发速度与代码质量、简化复杂问题、对 BUG 刨根问底、接受不完美代码,等等。
🎁Python潮流周刊🎁第 1-2 季精华内容已整理成精美电子书(EPUB/PDF),请给 Python猫 公众号发送“W30”,获取免费下载链接。
🐿️项目&资源[18]
1、dnstwist:检测域名的钓鱼攻击、拼写错误抢注和品牌冒充[19]
DNS 模糊测试,检测可能的恶意域名,发现网络钓鱼攻击和品牌冒充等问题。(star 4.7K)
2、posting:位于终端里的现代 API 客户端[20]
在终端上的类 Postman 和 Insomnia HTTP 客户端,支持语法高亮、Vim 快捷键、各种内置主题、可自动补全的环境变量、用于快速访问的命令面板,等等。(star 1.9K)
3、filesystem_spec:Python 文件系统应遵守的规范[21]
为文件系统的接口生成模板和规范文件,以便提供稳定可靠的通用行为。Pandas、Dask 和 Huggingface Datasets 等库在内部都使用了这个库。
4、babel:Python 国际化库[22]
主要用于 Web 项目做国际化,处理多语言的展示问题。(star 1.3K)
5、fastapi-docker-temp:基于 FastAPI 的最小化 Docker 项目模版[23]
可用于快速搭建和部署基于 FastAPI 的服务,技术栈还包括数据库映射 SQLModel、依赖管理 Poetry、数据库迁移 Alembic。
6、crawlee-python:Python Web 抓取和浏览器自动化库[24]
提取 AI、LLMsRAG 或 GPT 的数据。从网站下载 HTML、PDF、JPG、PNG 和其它文件,适用于 BeautifulSoup、Playwright 和原生 HTTP。提供有头和无头模式,支持代理轮换。(star 1K)
7、django-sql-explorer:通过 SQL 查询,在整个公司内轻松共享数据[25]
基于 Django 的项目,在 SQL 编辑器中编写和共享 SQL,在浏览器中查看结果。支持添加 LLM 助手,帮忙编写和调试 SQL。(star 2.7K)
8、pyxel:Python 的像素风游戏开发引擎[26]
用 Python 开发像素风的复古游戏,可在 Windows、Mac、Linux 和 Web 上运行,支持键盘、鼠标及游戏手柄输入。(star 14K)
9、0xtools:分析 Linux 系统上应用的性能[27]
针对 Linux 系统的 X 光透视,检测程序性能。支持测量线程级活动,查看单个线程或整个系统的 CPU 使用率。(star 1.2K)
10、Secator:渗透测试人员的瑞士军刀[28]
实用的工具集,可运行安全评估的任务和工作流,支持数十种知名安全工具,提高渗透测试人员和安全研究员的工作效率。
11、rss2newsletter:将 RSS/Atom feed 转换为邮件通讯[29]
将 RSS 转换为邮件,100% 免费开源,与 listmonk 集成发送邮件。
12、vectorlite:SQLite 的快速可调节的向量搜索扩展[30]
SQLite 的运行时可加载扩展,支持基于 hnswlib 的快速 ANN 搜索,支持 Windows、MacOS 和 Linux。
13、LivePortrait:让人像肖像栩栩如生[31]
由快手、中科大和复旦大学开源的人物肖像动画模型,支持音视频串联、驱动视频自动裁剪、模板制作等。(star 6K)
🐧 往年回顾[32]
Python潮流周刊#10:Twitter 的强敌 Threads 是用 Python 开发的
🐱欢迎订阅[34]
技术周刊是聪明人在信息过载时代中筛选优质知识的聪明手段。这是一个专为国内 Python 开发者量身打造的资讯平台,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等丰富内容。立即订阅[35],每周将收到一篇文章推送,每周进步一点点。
欢迎留言,说说你最喜欢本期的哪一则分享?大家反馈得越多,我今后分享的也会越多!
[1]
电报频道: https://t.me/pythontrendingweekly
[2] 🦄文章&教程: https://xiaobot.net/p/python_weekly
[3] Python 的包管理工具真是多啊: https://dublog.net/blog/so-many-python-package-managers/
[4] 中文翻译: https://juejin.cn/post/7389651690306338857
[5] 用 Flask 和 HTMX 开发一个动态博客(第 1 篇): https://devtoys.io/2024/06/30/building-a-dynamic-blog-with-flask-and-htmx/
[6] PySkyWiFi:利用航空公司漏洞,实现免费上网: https://robertheaton.com/pyskywifi/
[7] 让 Python 失去随机性:
https://healeycodes.com/making-python-less-random
[8] ChatGPT 沙盒中 Linux 系统的秘密: https://incoherency.co.uk/blog/stories/chatgpt-linux.html
[9] 我用 AI 自动将帽子戴到窗外的纽约人头上: https://dropofahat.zone/
[10] pip 与 uv:Streamlit Cloud 如何将程序加载时间缩短 55%?: https://blog.streamlit.io/python-pip-vs-astral-uv/
[11] 讲座:CPython JIT (Chipy 2024)幻灯片和参考链接: https://jeff.glass/post/chipyjit2024/
[12] 如何上手最新的 CPython JIT?: https://jeff.glass/post/try-cpython-jit/
[13] Python 包命名的最佳实践: https://joshcannon.me/2024/07/05/package-names.html
[14] 系统调用的对决:Python 与 Ruby 的差异: https://blog.mattstuchlik.com/2024/07/07/syscall-showdown.html
[15] 利用 GitHub Action 做爬虫,并将数据存在 SQLite 数据库中: https://jerrynsh.com/how-i-saved-scraped-data-in-an-sqlite-database-on-github/
[16] 我从 35 年软件开发生涯中得到的 12 条经验教训: https://dev.jimgrey.net/2024/07/03/lessons-learned-in-35-years-of-making-software
[17] 写给 15 年前的自己的 10 条编程建议: https://mbuffett.com/posts/programming-advice-younger-self/
[18] 🐿️项目&资源: https://xiaobot.net/p/python_weekly
[19] dnstwist:检测域名的钓鱼攻击、拼写错误抢注和品牌冒充: https://github.com/elceef/dnstwist
[20]
posting:位于终端里的现代 API 客户端: https://github.com/darrenburns/posting
[21] filesystem_spec:Python 文件系统应遵守的规范: https://github.com/fsspec/filesystem_spec
[22] babel:Python 国际化库: https://github.com/python-babel/babel
[23] fastapi-docker-temp:基于 FastAPI 的最小化 Docker 项目模版: https://github.com/liseami/fastapi-docker-temp
[24] crawlee-python:Python Web 抓取和浏览器自动化库: https://github.com/apify/crawlee-python
[25] django-sql-explorer:通过 SQL 查询,在整个公司内轻松共享数据: https://github.com/explorerhq/django-sql-explorer
[26] pyxel:Python 的像素风游戏开发引擎:
https://github.com/kitao/pyxel
[27] 0xtools:分析 Linux 系统上应用的性能: https://github.com/tanelpoder/0xtools
[28] Secator:渗透测试人员的瑞士军刀: https://github.com/freelabz/secator
[29] rss2newsletter:将 RSS/Atom feed 转换为邮件通讯: https://github.com/ElliotKillick/rss2newsletter
[30] vectorlite:SQLite 的快速可调节的向量搜索扩展: https://github.com/1yefuwang1/vectorlite
[31] LivePortrait:让人像肖像栩栩如生: https://github.com/KwaiVGI/LivePortrait
[32] 🐧 往年回顾: https://xiaobot.net/p/python_weekly
[33] Python潮流周刊#10:Twitter 的强敌 Threads 是用 Python 开发的!: https://pythoncat.top/posts/2023-07-08-weekly
[34] 🐱欢迎订阅: https://xiaobot.net/p/python_weekly
[35] 立即订阅: https://xiaobot.net/p/python_weekly

