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

🐱播客推荐

2023 年即将过去,给大家推荐一下我个人年度最喜爱的播客节目《纵横四海》!!它主要分享读书,探讨个人成长/职业成长,探索如何处理感情问题等。每期都在 90 分钟以上,好几期还超过了 4 个小时,但是听了完全不会觉着冗长!

🦄文章&教程

非洲十多个国家的 Python 社区组织者们联名给 PSF 的一封公开信。信件的起因是 PSF 给非洲首届 DjangoCon 的 9000 美元拨款延迟了,由此引出 PSF 内部存在的其它问题:人种歧视、对边缘群体缺乏关注、不遵守当地法律等。(题外话:PSF 在 2022 年给亚洲的拨款占比 1%,远低于给非洲的 16%……)
Django 5.0 在本周发布了,只支持 Python 3.10 及以上版本。主要新功能:新增Field.db_default 参数,可设置由数据库计算的默认值;GeneratedField 可以创建由数据库生成的列;引入了字段组和字段组模板,简化了表单字段相关元素的呈现。(附:一则介绍Django 新特性的视频
定义数据库字段的默认值
Lex/Flex 可用于生成词法分析器,用于处理源代码中的词法结构。作者通过改造 Python 官方文档中的一段程序,实现了一个通用的基于规则的词法分析器,可用于处理简单的词法分析需求。
文章指出了人们在 FastAPI 中使用依赖注入时的两种错误方式,介绍了如何在 FastAPI 中使用python-dependency-injector 实现依赖注入的方法。
适当使用列表解析式,可以让你的代码更简洁优雅,但是过度使用的话,将严重破坏代码的可读性。作者给出了三个例子,分别用列表解析式与常规方案实现,让读者感受到易理解的代码胜过花哨的炫技。
Flask 的作者 Armin Ronacher 在最新文章中讨论了 Python 的类型话题。核心观点认为 Python 的内在哲学在于它的动态类型,这是它的优势,这与类型化是冲突的,类型化有其价值,但也会带来成本。作者怀念曾经的 Python。
一篇非常详细的教程,使用 django-watson 和 PostgreSQL 给 Django 项目添加全文搜索功能。这个库支持跨多个 model 进行搜索,支持按相关性排序。(star 1.2K)
Celery 的扇出模式(Fanout)是一种任务分发的模式,由一个任务触发多个并行执行的子任务。作者介绍了这种模式的实践运用,认为这是在任务签名中实现动态工作流的好方法。
Asyncio 是 Python 用作异步编程的标准库,但它不是你唯一的选择。文章介绍和对比了 7 个同类的库,有比 Asyncio 更早发布的 Tornado、Twisted 及 Gevent,也有更为年轻的 Curio、Trio、AnyIO 与 UVloop。
异步编程库的star趋势
一篇深度剖析 CPython 解释器的动态分发机制的文章。动态分发(Dynamic Dispatch)指的是在程序运行时(而不是在编译时)确定调用哪个方法或函数的过程。a+b 看似简单,但是它们可能有多种类型组合,实际的计算过程可能完全不同。
GIF 是一种图像格式,是无声的动画视频。有什么 Python 库可以通过代码来播放 GIF 动画么?文章分别介绍了 tkinter、PySimpleGUI 和 Jupyter Notebook 这三种方式。
REPL(Read-Eval-Print Loop)是指编程语言的交互式环境。Python 标准库中有个code 模块,提供了实现 REPL 的功能,文章逐步提出需求,演示了如何用它开发一个简单的 REPL。

🎁Python潮流周刊🎁已顺利更新到第 30 期啦!我在几天前写了一篇《聊聊技术周刊的变现》分享了对未来发展的思考,近期也会对所有周刊再作一次总结,敬请期待!

🐿️项目&资源

这是近期基于 GPT-4v 的最火项目之一。让大语言模型像人类一样查看屏幕内容,操作鼠标和键盘来实现特定的目标。当前的挑战是 GPT-4v 在鼠标点击位置方面的错误率很高。(star 5.1K)
一个专注于扩展开发体验的 Markdown 解析器,遵循 CommonMark 规范 v0.30 规范。速度不是它的优势,但能方便观察 AST、实现自己的元素和渲染器。(投稿自@frostming)
本周火爆朋友圈的项目,作者是一名在校大学生。支持导出微信聊天记录,支持生成年度聊天报告。Slogan 不错:“我的数据我做主”。可以导出数据用于训练个人 AI!(star 12.5K)
年度聊天报告的一页
这是上一个项目的依赖,可解密数据库,查看和导出聊天记录,支持微信多开场景获取多用户信息。(star 1.6K)(PS. 总感觉这两个项目会被某信针对,你觉得呢?)
Apple 推出的基于自家芯片的机器学习阵列框架,拥有跟 Numpy 相近的 Python API。(star 7.2K)
一个精选仓库,收录了大量数据结构和算法题,使用 Python 解答。另外它还收录了不少大公司的面试题与计算机类学习笔记等资料。(star 1.7K)
一个网页在线版本的 Python 解释器,支持 Python 2.7、3.3-3.10 版本,预装了大部分的常用库,包括 Turtle、Tkinter、Pygame、Numpy、Matplotlib、Pandas、Scipy,等等。
在线画个小闹钟
它收录了 Python 社区中与异步 IO 相关的库,包括 aiohttp、aiopg、aiomysql、yarl、aiokafka 等等。
一款 VSCode 插件,具有帧可视化、漂亮的火焰图、显示执行了 SQL 查询的代码行、支持直接跳转到异常位置等。
kolo功能介绍图
一个只有 200 多行代码的小工具,伪造 DNS 服务器,隐秘截取请求中的文件。支持多文件、支持 Gzip 压缩、支持自定义子域信息等。(star 1.6K)
可生成你在 Github 的贡献日历、代码行数分析、多种维度下的个人贡献统计图等,轻松将动态图标嵌入到你的个人资料页面中。(star 6.4K)
在截图上打了马赛克就安全了么?不!这个库能以较高的准确度还原图片中的纯文本信息。仓库中有技术原理解释,以及对使用缺陷的说明。(star 24.7K)
恢复文本信息的示例

🐼欢迎订阅

  • 微信公众号:除更新周刊外,还发布其它原创作品,并转载一些优质文章。(可加好友,可加读者交流群)
  • 博客RSS:我的独立博客,上面有历年原创/翻译的技术文章,以及从 2009 年以来的一些随笔。
  • 邮件RSS:在 Substack 上开通的频道,满足你通过邮件阅读时事通讯的诉求。
  • Github:你可以获取本周刊的 Markdown 源文件,做任何想做的事!
  • Telegram:除了发布周刊的通知外,我将它视为一个“副刊”,补充发布更加丰富的资讯。
  • Twitter:我的关注列表里有大量 Python 相关的开发者与组织的账号。