Python猫 2024年07月09日
Python 潮流周刊#35:Python JIT 编译器和 Numpy2 即将推出
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本期 Python 潮流周刊介绍了 Python 3.13 的 JIT 编译器、NumPy 2 的即将发布、Python 在科学计算中的兴起以及其他 Python 相关内容。文章还分享了 Pandas Profiling 的使用技巧、Python 装饰器的深入了解、纯 Python 实现的 SIMD 以及 Flask 程序的最佳安全实践。此外,周刊还推荐了 ydata-profiling、pdfsyntax、harlequin、litellm 等项目和资源。

🤔 **Python 3.13 中的 JIT 编译器** Python 3.13 将引入 copy-and-patch JIT 编译器,旨在提高 Python 的执行速度。JIT 编译器在运行时将 Python 代码转换为机器码,从而提高代码执行效率。这一改进将使 Python 在性能方面更具竞争力。

🚀 **NumPy 2 的即将发布** NumPy 2 是一个重大更新版本,预计将于 2024 年 3-4 月发布。它将带来一些不向后兼容的更改,因此开发者需要提前做好准备,确保自己的代码能够顺利迁移到新版本。文章介绍了新版本的不兼容修改以及如何确保代码兼容性。

💡 **Python 在科学计算中的兴起** 尽管 Python 的性能不如 Fortran,但它在科学计算领域越来越受欢迎。文章探讨了 Python 兴起的原因:人们高估了执行速度的重要性,而编程的敏捷性和项目的可维护性更重要。此外,Python 的生态系统提供了丰富的库和工具,可以满足科学计算的需求。

📊 **Pandas Profiling:详细介绍它的使用** Pandas Profiling 是一个强大的工具,可以自动生成数据集的分析报告。它可以帮助用户快速了解数据结构、分布、缺失值、相关性等信息。文章介绍了 Pandas Profiling 的工作原理、使用方法以及一些高级应用。

🔒 **保护 Flask 程序的最佳实践** 文章介绍了如何提升 Flask 项目的安全性,包括使用安全库、处理输入验证、防止 XSS 和 CSRF 攻击等。它还提供了构建安全 API 的最佳实践,以及如何使用 Flask-SSLify、Flask-RESTful、Flask-HTTPAuth 等库来增强安全性。

🤖 **开发用 AI 驱动的 TODO 应用** 文章分享了如何使用 Django、Whisper、mixtral-8x7b-instruct 和 SQLite 等工具构建一个 AI 驱动的 TODO 应用。这是一个有趣的项目,可以帮助用户更好地管理任务。

📚 **Python 潮流周刊第一季精华合集** Python 潮流周刊第一季的精华内容已整理成一篇,方便用户随时查看。

🌟 **ydata-profiling:用于 Pandas 和 Spark DataFrame 的数据分析** 这是一个功能强大的工具,可以提供对 Pandas 和 Spark DataFrame 的详细分析。它可以生成 HTML 和 JSON 格式的分析报告,方便用户快速了解数据。

💬 **为什么 Python 会有.venv 虚拟环境的概念?** 文章探讨了 Python 虚拟环境的概念,以及为什么 Python 需要使用这种包管理机制。它解释了虚拟环境的作用,以及它如何帮助开发者管理项目的依赖关系。

💻 **Java 如何调用含有第三方依赖的 Python 项目?** 文章讨论了 Java 项目调用 Python 项目的方法,以及如何处理第三方依赖。它介绍了 JNI-CPython-Python 方案以及打包成 EXE 和 so 的方法。

🚀 **litellm:使用 OpenAI 格式调用所有 LLM API** 这是一个强大的工具,可以统一调用各种 LLM API,包括 Bedrock、Azure、OpenAI、Cohere、Anthropic 等。它简化了 LLM 的调用过程,并提供了丰富的功能。

🛡️ **guardrails:给大语言模型添加护栏** 这是一个用于提升大语言模型内容质量的工具。它可以指定输出结构和类型,并验证和更正大模型的输出,确保输出的准确性和可靠性。

🌐 **chainlit:在几分钟内构建 Python LLM 应用程序** 这是一个快速构建 Python LLM 应用程序的工具。它集成了 Langchain、Autogen、OpenAI Assistant 等,并提供了丰富的功能,包括监控和观测、身份校验机制等。

⏱️ **functime:用 Polars 构建的时间序列机器学习** 这是一个用于构建时间序列机器学习模型的工具。它支持时间序列预处理、交叉验证拆分器和预测指标,并可以高效地处理大型数据集。

🌟 **whisperX:具有单词级时间戳的自动语音识别** 这是一个对 Whisper 模型的增强,它提供了更准确的时间戳、多说话人检测,并通过增强语音活动检测来减少幻觉。

🚀 **mealie:自托管的食谱管理和膳食计划项目** 这是一个自托管的食谱管理项目,具有 RestAPI 后端和反应式前端。它支持 PC、平板和移动端,并提供用户管理和群组管理功能。

🌐 **42 道在线的 Python 编程练习题** 这是一个编程练习网站,提供了 42 道 Python 小项目练习题,并提供解答思路分析和参考答案。

💡 **chatgpt-on-wechat: 基于大模型搭建的聊天机器人** 这是一个基于大模型搭建的聊天机器人,支持微信、企业微信、公众号等平台。它可以处理文本、语音和图片,并支持基于自有知识库进行定制。

📊 **unstructured:用于 AI 模型的非结构化数据预处理工具** 这是一个用于 AI 模型的非结构化数据预处理工具,它可以对文档和图像等非结构化数据进行分区、清洗、暂存、提取、分块和嵌入等操作。

🚀 **harlequin:终端里的 SQL IDE** 这是一个在命令行终端里可视化操作 SQL 的工具。它提供了直观的操作界面,方便用户在终端中执行 SQL 查询。

💻 **pdfsyntax:检查和修改 PDF 文件内部结构** 这是一个用纯 Python 实现的轻量级库,用于检查和修改 PDF 文件。它支持 CLI 和 API 用法,方便用户对 PDF 文件进行操作。

🌟 **Python 潮流周刊:高质量信息筛选器** Python 潮流周刊已持续连载一年,更新内容接近 11 万字。它致力于为用户提供高质量的 Python、AI 及通用技术内容。

💰 **Python 潮流周刊付费专栏** Python 潮流周刊已开通付费专栏,欢迎用户订阅。

🎉 **欢迎订阅 Python 潮流周刊** 希望 Python 潮流周刊能成为用户高质量的信息筛选器,成为用户开阔视野的一扇明窗。

🎉 **欢迎投稿** Python 潮流周刊欢迎用户投稿,分享自己的技术经验和见解。

🎉 **欢迎关注电报频道** Python 潮流周刊还开通了电报频道,作为副刊,补充发布更加丰富的资讯。

🎉 **期待您的加入!**

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

?文章&教程

1、Python 3.13 也有了 JIT 编译器
JIT(Just in Time)是什么?它的工作原理是怎样的?Python + JIT 能带来什么好处?copy-and-patch JIT 是 2021 年提出的设计,专为动态语言运行时而设计的高速算法。Python 3.13 有望实现它!上期周刊的第一则分享是关于它,本期我们继续哈~
2、NumPy 2 即将推出:防止破坏,更新你的代码
NumPy 2 是一个重要的大版本,预计于 2024 年 3-4 月发布。它是一个不向后兼容版本,为了确保我们的应用不被破坏,有必要提前做些准备。文章介绍了新版本的不兼容修改、如何确保在合适的时机再安装新版本、如何轻松升级你的代码。
3、Python 反直觉地在科学计算中兴起
文章提出了一个疑问:在关注性能的科学计算领域,以前很流行 Fortran,为什么现在越来越多使用性能较慢的 Python?原因也许是人们高估了执行速度的重要性,编程的敏捷性和项目的可维护性更重要,而且替代方案的性能也不差。(附:Fortran 社区的讨论
4、在 Pandas 中实现快速高效的不等价连接
Pandas 支持用 mergejoin 函数实现等价连接,但是不等价连接怎么办呢?文章介绍了两种比常规笛卡尔连接更好的方案:使用pyjanitor 库的 conditional_join 函数,既节省内存又不损性能;使用DuckDB 的 SQL 查询 DataFrame,性能极高。
5、Pandas Profiling:详细介绍它的使用
Pandas profiling 是一个很流行的库(已改名ydata-profiling),仅需一行代码就能生成数据集的分析报告。这篇教程介绍了它的工作原理、如何导入和生成报告、分析和处理敏感数据、分析大数据、它的替代库及它的缺点等内容。
6、深入了解 Python 的 functools.wraps 装饰器
Python 装饰器是我最爱的特性之一。在我们自定义装饰器时,需要考虑元数据的丢失问题,functools.wraps 很关键。文章介绍了它的用处、如何使用它,以及如何传递自定义参数。
7、纯 Python 实现的 SIMD
作者分享了如何用纯 Python 实现 Game of Life(用pysdl2 作图形输出),以 180fps 的 4K 分辨率运行,比传统的实现加速了 ~3800 倍。
8、保护 Flask 程序的最佳实践
想要提升 Flask 项目的安全性,免受安全漏洞侵害,有哪些最佳的技术实践?文章基于 OWASP Top 10 最常见漏洞,介绍了yaml.safe_load 加载 JSON、defusedxml 解析 XML、flask_wtf 保护表单、 secure_filename 处理文件路径、防 XSS 和 CSRF 的一些方法、构建安全 API 的 9 个建议,等等内容。涉及 Flask-SSLify、Flask-RESTful、Flask-HTTPAuth、Flask-JWT-Extended 和 Flask-Limiter 等库。
9、使用服务器发送事件 (SSE) 将实时更新推送到客户端
服务器发送事件 SSE 是 Web 服务器向网页发送实时信息的一种方式,无需页面重复请求。文章用完整的例子介绍了如何用 Python 实现它,最后也指出了它的两点局限性。
10、开发用 AI 驱动的 TODO 应用
在人工智能时代,TODO 应用会是什么样子的?作者用 Django + 简单的 HTML + Whisper + mixtral-8x7b-instruct + SQLite 实现了一个 TODO 项目,值得借鉴学习!
11、PEP-736 调用时关键字参数的简写语法
这个 PEP 提议引入一个语法糖 f(x=) ,作为命名参数和值的变量名相同时f(x=x) 的简写。它与 f-string 的 f'{x=}' 相似,在 Ruby、JavaScript 和 Rust 中能找到类似的简写。据统计,这种模式占关键字参数用法的 10-20%。
12、如何用 Python 删除图像中的背景?
这篇教程介绍了如何用Tkinterrembg 实现移除图像的背景,效果挺不错。
?Python潮流周刊?每 30 期为一季,第一季的精华内容已整理成一篇,方便你随时查看。在线访问地址:Python 潮流周刊第一季精华合集(1~30)

?️项目&资源

1、ydata-profiling:用于 Pandas 和 Spark DataFrame 的数据分析
与 Pandas 的df.describe() 函数一样,ydata-profiling 非常好用,只要一行代码,提供了对 DataFrame 的扩展分析,支持以 html 和 json 等格式输出分析报告。(star 11.7K)
2、pdfsyntax:检查和修改 PDF 文件内部结构
这是用纯 Python 实现的轻量级库,用于检查和修改 PDF 文件,支持 CLI 和 API 用法。
3、harlequin:终端里的 SQL IDE
在命令行终端里可视化操作 SQL。(star 1.6K)
4、litellm:使用 OpenAI 格式调用所有 LLM API
用统一的方式调用 LLM,支持 Bedrock、Azure、OpenAI、Cohere、Anthropic、Ollama、Sagemaker、HuggingFace、Replicate 等 100+ LLMs。(star 4.4K)
5、unstructured:用于 AI 模型的非结构化数据预处理工具
对文档(如 PDF、HTML、WORD等)和图像等非结构化数据作预处理,提供分区、清洗、暂存、提取、分块和嵌入等方法。(star 4.2K)
6、chatgpt-on-wechat: 基于大模型搭建的聊天机器人,支持微信、企业微信、公众号、飞书
可选择 GPT3.5/GPT4.0/Claude/文心一言/讯飞星火/通义千问/Gemini/LinkAI,能处理文本、语音和图片,访问操作系统和互联网,支持基于自有知识库进行定制企业智能客服。(star 19.9K)
7、whisperX:具有单词级时间戳的自动语音识别
对语音识别模型 Whisper 的增强,拥有更准确的时间戳、多说话人检测,并通过增强语音活动检测来减少幻觉,速度更快,占用内存更少。(star 7.4K)
8、42 道在线的 Python 编程练习题
一个编程练习网站,提供了 42 道 Python 小项目练习题,有解答思路分析和参考答案。
9、mealie:自托管的食谱管理和膳食计划项目
一个食谱管理项目,具有 RestAPI 后端和用 Vue 开发的反应式前端。支持 PC、平板和移动端,可使用 url 轻松添加食谱,支持用户管理和群组管理。(star 4.3K)
10、guardrails:给大语言模型添加护栏
大语言模型没有按预期回应,有什么办法?这个库可以指定输出结构和类型,可验证和更正大模型的输出,提升内容质量。(star 2.7K)
11、chainlit:在几分钟内构建 Python LLM 应用程序
快速构建类型 ChatGPT 的 Web 应用,集成了 Langchain、Autogen、OpenAI Assistant、Llama、Haystack,可自定义前端实现全部功能,包括监控和观测、身份校验机制、多用户、各种工具无缝集成等。(star 4.3K)
12、functime:用 Polars 构建的时间序列机器学习
可在大型数据集上进行生产就绪的全局预测和时间序列特征提取,支持时间序列预处理、交叉验证拆分器和预测指标(MASE、SMAPE 等)。

?讨论&问题

1、为什么 Python 会有.venv 虚拟环境的概念?
Python 为什么需要用虚拟环境?为什么 Python 会用这种包管理机制?包管理软件需要解决什么样的问题?
2、Java 如何调用含有第三方依赖的 Python 项目?
在不能调用 API 的情况下,如何让 Java 项目调用 Python 项目?JNI-CPython-Python 方案有什么问题?打包成 EXE 和 so 实现如何?

?欢迎订阅

本周刊已持续连载一年,更新内容接近 11 万字。希望周刊能成为你高质量的信息筛选器,成为你开阔视野的一扇明窗。目前已开通付费专栏,欢迎你来订阅:https://xiaobot.net/p/python_weekly

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Python AI 机器学习 深度学习 数据科学 科学计算 编程语言 技术周刊 开源 社区 NumPy Pandas Flask JIT LLM ChatGPT
相关文章