Python 潮流周刊#77:Python 依赖管理就像垃圾场火灾?
你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。周刊开源在 Github[1] 上,喜欢请给颗小星星支持下~
本期分享了 12 篇文章,12 个开源项目,2 则热门讨论,全文 2200 字。
🦄文章&教程[2]
1、Python 依赖管理一种垃圾场火灾[3]
文章讨论了 Python 依赖管理的复杂性,随着项目增长和演变,很容易发生“火灾”。应该如何预防呢?文章分享了很多提升“消防安全”的技术、工具和最佳实践,分析了不同工具的优缺点,根据不同场景提供了使用建议。
2、Python 的膨胀:精细的项目间依赖关系分析[4]
来自美国计算机协会(ACM)的一篇论文,分析了 1302 个流行的 Python 开源项目源码及其 3232 个传递依赖库,建立细粒度的项目依赖图,作可达性分析,发现超过 50% 的依赖是膨胀的。
3、分享我的 Django 项目模板[5]
作者分享了基于 uv 和 just 的 Django 项目模板,介绍了建议的目录结构、配置管理、环境变量和密钥管理、Web UI、部署和维护等话题。
4、避免在 Django 分页中计算总数[6]
Django 的默认 Paginator 依赖于对象 COUNT(*) 查询来计算页数,可能导致耗时很长,文章介绍如何实现自定义分页器,提高分页 API 的查询性能。文章演示的例子从 855 毫秒提升到 12 毫秒。
5、你需要更注意分词[7]
在构建人工智能应用时,需要对文本进行分词,作者发现分词器的选择和优化对 RAG 的效果至关重要,讨论了不同分词器类型(基于单词、字符和子词)及其对模型性能的影响。
6、Pythonic 的空值检查[8]
Python 中被 PEP-8 推荐的判断列表是否为空的方法是“if seq”,而不是“if len(seq)”。有人说第一种方法含糊不清,文章对此观点做出反驳,提倡使用有意义的变量名、类型提示、清晰的函数名和文档字符串来提高代码的可读性,减少出现含糊的可能。
7、Attestations:PyPI 的新一代签名[9]
PyPI 引入了 PEP-740 规范的一项安全特性:数字证明。它通过提高密钥可用性、索引可验证性、密码学强度和来源属性,改善了传统的 PGP 签名。
8、PyPIM:直接在 RAM 中执行 Python 代码的新方法[10]
以色列研究人员开发了[11]一种新的软件“平台”,可将易于阅读的 Python 指令转换为低级机器代码,并在 RAM 中执行,而无需通过 CPU。这种新的内存处理 (PIM) 架构显著提高了代码性能。
9、Python 中管道模式的实际示例[12]
管道模式(Pipeline pattern),也称为链式命令模式,文章介绍了一个用 functools.reduce 、partial函数以及BeautifulSoup库来解析 HTML 内容的实例,解释了这种模式的用法和优点。
10、零停机时间部署 Django 与多步骤数据库更改[13]
蓝绿部署是防止部署期间服务停机的常用策略,文章深入探讨了什么是蓝绿部署,为什么蓝绿部署时修改数据库可能很棘手,以及用 Django 项目为例,常见数据库修改的处理。
11、Netflix 关于 Workbench UI 延迟问题的调查[14]
Workbench 是 Netflix 推出的一个远程开发工作区,最近遇到 JupyterLab UI 变得缓慢且无响应问题,文章复盘了该问题的详细定位过程,从 UI 一直到 Linux 内核作调试。
12、通过 Python 侧车模式在 Go 中使用 ML[15]
如何在 Go 项目中使用机器学习模型?文章介绍了几种方法,包括用现成的大语言模型的 API、本地运行开源模型,以及通过 Python 侧车模式集成训练好的模型。文章主要是关于最后一种方法的解释和示例。
🐿️项目&资源[16]
1、Box:用高级的点表示法访问嵌套字典[17]
将无法直接访问的嵌套字典变为一种属性,可使用点表示法访问字典的元素,使代码更为简洁和易读。(star 2.6K)
2、dendrite-python-sdk:构建 Web AI 代理,像人类般浏览网页[18]
支持与元素交互、提取结构化数据、身份验证、上传/下载文件、浏览而不被拦截。
3、prints_charming:增强终端打印的样式和颜色[19]
支持终端的彩色打印、设置文本样式(背景色、粗体、下划线等)、自定义样式、创建边框和表格、智能默认值等功能。
4、weft:类似 vim 的终端阅读器,可与书籍聊天[20]
在终端中使用类似 Vim 的命令阅读 epub 电子书,并支持与当前文本聊天、生成摘要、文本转语音等功能。
5、PiML-Toolbox:Python 可解释机器学习工具箱[21]
用于可解释机器学习模型开发和验证的新 Python 工具箱,通过低代码接口和高代码 API,它支持越来越多的本质上可解释的 ML 模型。(star 1.2K)
6、PDF-Extract-Kit:高质量提取 PDF 内容[22]
从复杂多样的 PDF 文档中提取高质量内容,集成领先的文档解析模型、跨不同文档的高质量解析、模块化设计、提供多样化且全面的 PDF 评估基准。(star 5.6K)
7、VideoLingo:Netflix 级字幕切割、翻译、对齐、配音[23]
一站式视频翻译本地化配音工具,一键生成 Netflix 级别的高质量字幕,告别生硬机翻,告别多行字幕,还能加上高质量的配音,让全世界的知识能够跨越语言的障碍共享。(star 6.3K)
8、htmy:异步、纯 Python 渲染引擎[24]
异步优先的纯 Python 渲染引擎,类似 React 的上下文支持,所有基线 HTML 标签都内置,支持 Markdown,基于 JSON 的国际化,所有东西都可轻松自定义。
9、website-hot-hub:36Kr、bilibili、抖音、掘金、微信读书的热点榜[25]
每小时自动抓取一次数据,按天归档多个平台的热点榜,数据从 2023-10-25 至今。
10、watermark-anything:为任何内容添加水印[26]
对论文 Watermark Anything 的实现和预训练模型,支持在图像中嵌入多个本地化水印。
11、models:先进开源的视频生成模型[27]
非常先进的视频生成模型,完全开源,具有高保真度的动作和对提示的强烈遵循性。(star 2K)
12、deepface:轻量级人脸识别和人脸属性分析[28]
不仅能识别人脸,还能分析人物属性(年龄、性别、情感、种族)。人脸识别准确率 97.53%。(star 14.7K)
🥂讨论&问题[29]
1、2024 年最先进的 Python[30]
当前在 Python 团队中推行哪些“默认”
2、为什么有一些 Python 入门书不教 class、yield、self 之类的方法?[31]
为什么有些颇受好评的入门书里都不教这些东西?不学会有问题么?
🐧 往年回顾[32]
Python 潮流周刊#27:应该如何处理程序的错误?[33] (2023.11.18)
🐱欢迎订阅[34]
技术周刊是聪明人在信息过载时代中筛选优质知识的聪明手段。这是一个专为国内 Python 开发者量身打造的资讯平台,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等丰富内容。立即订阅[35],每周将收到一篇文章推送,每周进步一点点。
欢迎留言,说说你最喜欢本期的哪一则分享?大家反馈得越多,我今后分享的也会越多!
欢迎将本专栏[36]分享给同样爱学习的同学,当有人通过你分享的海报或者链接,购买了专栏,那么你将获得高额的返利。
Python 潮流周刊第 2 季完结了,分享几项总结[37]
Python 潮流周刊第一季精华合集(1~30)[38]
万字浓缩版,Python 潮流周刊第 1 季的 800 个链接![39]
🎪关联阅读
上一期:Python 潮流周刊#76:用 50 行 Python 代码实现 BASIC[40]
下一期:Python 潮流周刊#78:async/await 是糟糕的设计[41]
Github: https://github.com/chinesehuazhou/python-weekly
[2]🦄文章&教程: https://xiaobot.net/p/python_weekly
[3]Python 依赖管理一种垃圾场火灾: https://nielscautaerts.xyz/python-dependency-management-is-a-dumpster-fire.html
[4]Python 的膨胀:精细的项目间依赖关系分析: https://dl.acm.org/doi/10.1145/3660821
[5]分享我的 Django 项目模板: https://david.guillot.me/en/posts/tech/proposal-for-a-django-project-template/
[6]避免在 Django 分页中计算总数: https://testdriven.io/blog/django-avoid-counting/
[7]你需要更注意分词: https://cybernetist.com/2024/10/21/you-should-probably-pay-attention-to-tokenizers/
[8]Pythonic 的空值检查: https://blog.codingconfessions.com/p/the-pythonic-emptiness
[9]Attestations:PyPI 的新一代签名: https://blog.trailofbits.com/2024/11/14/attestations-a-new-generation-of-signatures-on-pypi/
[10]PyPIM:直接在 RAM 中执行 Python 代码的新方法: https://www.techspot.com/news/105557-pypim-new-method-execute-python-code-directly-ram.html
[11]开发了: https://techxplore.com/news/2024-11-software-package-bypass-cpu-efficient.html
[12]Python 中管道模式的实际示例: https://pybit.es/articles/a-practical-example-of-the-pipeline-pattern-in-python/
[13]零停机时间部署 Django 与多步骤数据库更改: https://johnnymetz.com/posts/multistep-database-changes/
[14]Netflix 关于 Workbench UI 延迟问题的调查: https://netflixtechblog.com/investigation-of-a-workbench-ui-latency-issue-faa017b4653d
[15]通过 Python 侧车模式在 Go 中使用 ML: https://eli.thegreenplace.net/2024/ml-in-go-with-a-python-sidecar/
[16]🐿️项目&资源: https://xiaobot.net/p/python_weekly
[17]Box:用高级的点表示法访问嵌套字典: https://github.com/cdgriffith/Box
[18]dendrite-python-sdk:构建 Web AI 代理,像人类般浏览网页: https://github.com/dendrite-systems/dendrite-python-sdk
[19]prints_charming:增强终端打印的样式和颜色: https://github.com/deefifofun/prints_charming
[20]weft:类似 vim 的终端阅读器,可与书籍聊天: https://github.com/dpunj/weft
[21]PiML-Toolbox:Python 可解释机器学习工具箱: https://github.com/SelfExplainML/PiML-Toolbox
[22]PDF-Extract-Kit:高质量提取 PDF 内容: https://github.com/opendatalab/PDF-Extract-Kit
[23]VideoLingo:Netflix 级字幕切割、翻译、对齐、配音: https://github.com/Huanshere/VideoLingo
[24]htmy:异步、纯 Python 渲染引擎: https://github.com/volfpeter/htmy
[25]website-hot-hub:36Kr、bilibili、抖音、掘金、微信读书的热点榜: https://github.com/cxyfreedom/website-hot-hub
[26]watermark-anything:为任何内容添加水印: https://github.com/facebookresearch/watermark-anything
[27]models:先进开源的视频生成模型: https://github.com/genmoai/models
[28]deepface:轻量级人脸识别和人脸属性分析: https://github.com/serengil/deepface
[29]🥂讨论&问题: https://xiaobot.net/p/python_weekly
[30]2024 年最先进的 Python: https://www.reddit.com/r/Python/comments/1ghiln0/state_of_the_art_python_in_2024/
[31]为什么有一些 Python 入门书不教 class、yield、self 之类的方法?: https://www.v2ex.com/t/1053740
[32]🐧 往年回顾: https://xiaobot.net/p/python_weekly
[33]Python 潮流周刊#27:应该如何处理程序的错误?: https://pythoncat.top/posts/2023-11-18-weekly
[34]🐱欢迎订阅: https://xiaobot.net/p/python_weekly
[35]立即订阅: https://xiaobot.net/p/python_weekly
[36]本专栏: https://xiaobot.net/p/python_weekly
[37]Python 潮流周刊第 2 季完结了,分享几项总结: https://pythoncat.top/posts/2024-07-14-iweekly
[38]Python 潮流周刊第一季精华合集(1~30): https://pythoncat.top/posts/2023-12-11-weekly
[39]万字浓缩版,Python 潮流周刊第 1 季的 800 个链接!: https://xiaobot.net/post/78c3d645-86fa-4bd8-8eac-46fb192a339e
[40]Python 潮流周刊#76:用 50 行 Python 代码实现 BASIC: https://pythoncat.top/posts/2024-11-09-weekly
[41]Python 潮流周刊#78:async/await 是糟糕的设计: https://pythoncat.top/posts/2024-11-23-weekly