你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。另有电报频道作为副刊,补充发布更加丰富的资讯,欢迎关注。
本期分享了 13 篇文章,13 个开源项目,全文 2300 字。
🦄文章&教程
Python 的包管理生态说得好听点是多元化,难听点就是支离破碎。作者对 10 几个 Python 包管理/虚拟环境管理工具做了个简单盘点,最后的建议是:数据科学/实验人员用conda
,其他人在生产环境用pip
或poetry
。(附:一篇中文翻译)
2、用 Flask 和 HTMX 开发一个动态博客(第 1 篇)
一个 Python Web 全栈开发系列,使用 Flask 和 HTMX 开发一个具有交互性的博客,。该系列第二篇是高级版,加入了 TailwindCSS 和身份验证的功能。
作者在飞机上发现连 Wi-Fi 需要填信用卡,但能免费登录航空里程账户。于是,想出不断更新账号的个人资料来实现消息传递的方法。文章介绍了实现原理,实现了几个原型,包括即时通讯、时事新闻/股价和足球比分消息等,也给出了提升效率和改进的思路。
作者遇到一个跟随机数有关的 bug,于是研究如何让随机数变得可预测,并想完全不改动现有的 Python 代码。介绍了如何用ptrace
来拦截和修改对getrandom
的系统调用。
ChatGPT 能在沙盒环境中执行 Python 代码和系统命令,作者揭开了它的神秘面纱,原来是 Azure 云平台 K8S 集群的机器,作者尝试了多种命令包括查看进程、访问网络、上传和下载文件等,还找到沙盒环境的完整 Python 源码,大约 650 行。
一个很有意思的项目,作者使用 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?)
通常一个 Python 软件包的名称跟它的模块名称一样,但这仅是不成文的约定。文章获取了 PyPI 上最受欢迎的 8000 个包,分析它们的命名,发现有 81% 的包名和模块名一样。文章还分析了其它内容,包括命名空间、常用的前缀/后缀等。
作者开发的Cirron
库能跟踪系统调用并记录单行代码的性能。文章利用它来对比了 Python 和 Ruby 在文件 IO、生成随机数、显示时间、打印字符串等操作时,系统调用命令及耗时的差异。
11、利用 GitHub Action 做爬虫,并将数据存在 SQLite 数据库中
介绍了如何让 Github Action 自动执行爬虫程序,并将爬到的数据保存到 Github Artifact 里,全免费无需服务器。文章介绍了相关流程、配置内容和实现限制等。
作者从事软件开发 35 年,给大家分享 12 条深刻的经验教训,主要是些软技能,包括以最直接的方式做事、人际关系很重要、永远不要隐身、心甘情愿做事,等等。
作者作为一名经验丰富的程序员,很希望自己能早点看到这些建议:主动修复易被忽视的小问题、权衡开发速度与代码质量、简化复杂问题、对 BUG 刨根问底、接受不完美代码,等等。
🎁Python潮流周刊🎁第 1 季精华内容已整理成精美电子书(EPUB/PDF),请给 Python猫 公众号发送“W30”,获取免费下载链接。
🐿️项目&资源
1、dnstwist:检测域名的钓鱼攻击、拼写错误抢注和品牌冒充
DNS 模糊测试,检测可能的恶意域名,发现网络钓鱼攻击和品牌冒充等问题。(star 4.7K)
在终端上的类 Postman 和 Insomnia HTTP 客户端,支持语法高亮、Vim 快捷键、各种内置主题、可自动补全的环境变量、用于快速访问的命令面板,等等。(star 1.9K)
3、filesystem_spec:Python 文件系统应遵守的规范
为文件系统的接口生成模板和规范文件,以便提供稳定可靠的通用行为。Pandas、Dask 和 Huggingface Datasets 等库在内部都使用了这个库。
主要用于 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)
用 Python 开发像素风的复古游戏,可在 Windows、Mac、Linux 和 Web 上运行,支持键盘、鼠标及游戏手柄输入。(star 14K)
针对 Linux 系统的 X 光透视,检测程序性能。支持测量线程级活动,查看单个线程或整个系统的 CPU 使用率。(star 1.2K)
实用的工具集,可运行安全评估的任务和工作流,支持数十种知名安全工具,提高渗透测试人员和安全研究员的工作效率。
11、rss2newsletter:将 RSS/Atom feed 转换为邮件通讯
将 RSS 转换为邮件,100% 免费开源,与 listmonk 集成发送邮件。
12、vectorlite:SQLite 的快速可调节的向量搜索扩展
SQLite 的运行时可加载扩展,支持基于 hnswlib 的快速 ANN 搜索,支持 Windows、MacOS 和 Linux。
由快手、中科大和复旦大学开源的人物肖像动画模型,支持音视频串联、驱动视频自动裁剪、模板制作等。(star 6K)
🐧 往年回顾
Python潮流周刊#10:Twitter 的强敌 Threads 是用 Python 开发的!(2023.07.08)
🐱欢迎订阅
技术周刊是聪明人在信息过载时代中筛选优质知识的聪明手段。这是一个专为国内 Python 开发者量身打造的资讯平台,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等丰富内容。立即订阅,每周将收到一篇文章推送,每周进步一点点。
欢迎留言,说说你最喜欢本期的哪一则分享?大家反馈得越多,我今后分享的也会越多!
欢迎将本专栏分享给同样爱学习的同学,当有人通过你分享的海报或者链接,购买了专栏,那么你将获得高额的返利。