Python猫

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 侧车模式集成训练好的模型。文章主要是关于最后一种方法的解释和示例。

Image

🐿️项目&资源[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)

Image

🥂讨论&问题[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]

参考资料
[1] 

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

Image
Image