谁是 2020 年最强 Python 库?年度 Top 10 出炉!

谁是 2020 年最强 Python 库?年度 Top 10 出炉!


蕾师师 发自 凹非寺 
量子位 报道 | 公众号 QbitAI

2020 年已经过去了,国外的一家专门提供 Python 服务的网站 Troy Labs,盘点出了 2020 年发布的 Python 库 Top10。

上榜的有 FastAPI 的升级版 Typer、将 CLI 变成彩色的 Rich、基于 GUI 框架的 Dear PyGui、还有精简报错信息的 PrettyErrors……总有一款是你想要的。

下面就让我们一起来看看吧~

1、Typer

Typer 跟 FastAPI 的原理相同,都是 Python 上用来构建 API 服务的一个高性能框架。

谁是 2020 年最强 Python 库?年度 Top 10 出炉!

它是 FastAPI 的升级版,不仅能够准确地记录代码,还能够轻松地进行 CLI 验证。

Typer 易于学习和使用,不需要用户阅读复杂的教程文档即可上手。支持编辑器(如 VSCode)代码自动补全,提高开发人员的开发效率,减少 bug 的数量。

其次,Typer 还能配合命令行神器 Click 使用,就可以利用 Click 的优点和插件,实现更复杂的功能。

开源地址:
https://github.com/tiangolo/typer

2、Rich

谁规定 CLI 界面一定得是黑白的?它也可以是彩色的。

Rich API 不仅能够在终端输出提供丰富的彩色文本和精美的格式,还提供了精美的表格、进度条、编辑器、追踪器、语法高亮等。如下图所示。

谁是 2020 年最强 Python 库?年度 Top 10 出炉!

它还可以安装在 Python REPL 上,所有的数据结构都可以漂亮地输出或标注。

总而言之,它是彩色的、漂亮的、强大的。

Rich 兼容性也不错,适用于 Linux,Mac 和 Windows 等多种系统。真彩色/表情符号可与新的 Windows 终端一起使用。

但是请注意,Rich 必须要 Python 3.6.1 或以上版本。

开源地址:
https://github.com/willmcgugan/rich

3、Dear PyGui

如上所示,虽然终端应用程序可以做成很漂亮的样子。但是,你可能还需要一个真正的 GUI。

谁是 2020 年最强 Python 库?年度 Top 10 出炉!

Dear PyGui 是一个便于使用、功能强大的 Python GUI 框架。但是它与其他的 Python GUI 却有着根本上的不同。

它使用了即时模式范式和计算机的 GPU 来实现动态界面。即时模式范式在视频游戏中非常流行,这意味着它的动态 GUI 不需要保留任何数据,而是逐帧独立绘制的。同时,它还使用 GPU 来建构动态界面。

谁是 2020 年最强 Python 库?年度 Top 10 出炉!

Dear PyGui 还可以绘图、创建主题、创建 2D 游戏,还拥有一些小工具,比如说内置文档、日志记录、源代码查看器之类的,这些小工具可以协助 App 的开发。

支持它的系统有:Windows 10(DirectX 11),Linux(OpenGL 3)和 macOS(Metal)等。

开源地址:
https://github.com/hoffstadt/DearPyGui

4、PrettyErrors

PrettyErrors 是一个精简 Python 错误信息的工具,特点是界面十分简洁友好。

它最显著的功能是支持在终端进行彩色输出,标注出文件栈踪迹,发现错误信息,过滤掉冗余信息,提取出关键部分,并且进行彩色标注,从而提高开发者的效率。

谁是 2020 年最强 Python 库?年度 Top 10 出炉!

而且它可以不用安装,直接被导入项目中使用,但是需要先配置一些参数,其导入和配置的参数如下:

谁是 2020 年最强 Python 库?年度 Top 10 出炉!

开源地址:
https://github.com/onelivesleft/PrettyErrors

5、Diagrams

程序员在编程的时候,有时候需要跟同事解释他设计的程序代码之间复杂的结构关系,然而这不是一两句话能说清楚的,需要画表或者做脉络图。

一般情况下,程序员使用 GUI 工具处理图表,并将文稿进行可视化处理。但是还有更好的方法,比如说使用 Diagrams 库。

Diagrams 让不需要任何设计类工具,直接在 Python 代码中绘制云系统结构。它们的图标来自多家云服务商,包括 AWS, Azure, GCP 等。

仅需几行代码,就可以简单地创造出箭头符号和结构图。

谁是 2020 年最强 Python 库?年度 Top 10 出炉!

由于它使用 Graphviz 来渲染图,所以还需要先安装好 Graphviz。

开源地址:
https://github.com/mingrammer/diagrams

6、Hydra and OmegaConf

在做机器学习项目的时候,需要做一大堆的环境配置工作。因此,在一些复杂的应用程序中,配置管理工作也相应变得复杂。

Hydra 可以使配置工作变得简单。它能够从命令行或者配置文件中覆盖部分出来,无需维护相似的配置文件,用组合的方式进行配置,从而加快了实验运行速度。

谁是 2020 年最强 Python 库?年度 Top 10 出炉!

Hydra 兼容性强,拥有含插件的结构,能够很好地与开发者的操作文件融合。它的插件还可以实现直接通过命令行,就把代码发布到 AWS 或者其他云端系统。

Hydra 也离不开 OmegaConf,两者关系密不可分,OmegaConf 为 Hydra 的分层配置系统提供了协同的 API,二者协同运作可支持 YAML、配置文件、对象、CLI 参数等。

开源地址:
https://github.com/facebookresearch/hydra

https://github.com/omry/omegaconf

7、PyTorch Lightning

PyTorch Lightning 也是 Facebook 的一个研究成果。它是一个轻巧的 PyTorch 包装器,用于高性能 AI 研究,其最重要的特征是能够解析 PyTorch代码,让代码研究成分和工程成分的分离。

谁是 2020 年最强 Python 库?年度 Top 10 出炉!

它的扩展模型可以在任何硬件(CPU、GPU、TPU)上运行,且容易被复制,删除了大量的文件样本,保持了自身的灵活性,运行速度快。

Lightning 能够使 DL / ML 研究的 40 多个部分实现自动化,例如 GPU训练、分布式 GPU(集群)训练、TPU 训练等等……

因为 Lightning 将可以将文件自动导出到 ONNX 或T orchScript,所以它适用于进行快速推理的 AI 研究员、BERT 或者自监督学习的研究团队等。

开源地址:
https://github.com/PyTorchLightning/PyTorch-lightning

8、Hummingbird

Hummingbird 是微软的一项研究成果,它能够将已经训练好的 ML 模型汇编成张量计算,从而不需要设计新的模型。

还允许用户使用神经网络框架(例如 PyTorch)来加速传统的 ML 模型。
谁是 2020 年最强 Python 库?年度 Top 10 出炉!

它的推理 API 跟 sklearn 范例十分相似,都可以重复使用现有的代码,但是它是用 Hummingbird 生成的代码去实现的。

Hummingbird 还在 Sklearn API 之后提供了一个方便的统一推理API。这样就可以将 Sklearn 模型与 Hummingbird 生成的模型互换,而无需更改推理代码。

它之所以被重点关注,还因为它能够支持多种多样的模型和格式。

到目前为止,Hummingbird 支持 PyTorch、TorchScript、ONNX 和 TVM 等各种 ML 模型。

开源地址:
https://github.com/microsoft/hummingbird

9、HiPlot

由于 ML 模型变得越来越复杂,还有很多超参数,于是就需要用到 HiPlot。HiPlot 是今年 3 月 Facebook 发行的一个库,主要用于处理高维数据。

Facebook AI 通过几十个超参数和 10 万多个实验,利用 HiPlot,来分析深度神经网络。

它是用平行图和其他的图像方式,帮助AI研究者发现高维数据的相关性和模型,是一款轻巧的交互式可视化工具。

谁是 2020 年最强 Python 库?年度 Top 10 出炉!

HiPlot 与其他可视化工具相比,有其特有的优点:

首先,它的互动性强,因为平行图是交互式的,所以能够满足多种情况下的图像可视化。

其次,它简单易用,可以通过 IPython Notebook 或者通过带有“ hiplot”命令的服务直接使用。

它还有具有可扩展性。默认情况下,HiPlot 的 Web 服务可以解析 CSV 或 JSON 文件,还可以为其提供自定义 Python 解析器,将实验转换为 HiPlot 实验。

开源地址:
https://github.com/facebookresearch/hiplot

参考链接:
https://ai.facebook.com/blog/hiplot-high-dimensional-interactive-plots-made-easy

10、Scalene

Scalene 是一个用于 Python 脚本的 CPU 和内存分析器,能够正确处理多线程代码,还能区分 Python 代码和本机代码的运行时间。

你不需要修改代码,只需运行 Scalene 脚本,它就会生成一个文本形式的报告,显示出每一行代码的 CPU 和内存的使用情况。通过这个文本报告,开发人员可以提高代码的效率。

谁是 2020 年最强 Python 库?年度 Top 10 出炉!

Scalene 的速度快、准确率高,还能够对高耗能的代码行进行标注。

开源地址
https://github.com/emeryberger/scalene

除了以上 10 个,还有多个高性能的 Python 库被点名了,例如 Norfair、Quart、Alibi-detect、Einops……等等,详情查看底部链接。

那么,你今年有发现好用的 Python 库吗?

如果有的话,请在评论区一起分享一下呀~

参考链接:
https://tryolabs.com/blog/2020/12/21/top-10-python-libraries-of-2020/

https://www.upgrad.com/blog/reasons-why-python-popular-with-developers/



好文和朋友一起看~

原文始发于微信公众号(进击的Coder):谁是 2020 年最强 Python 库?年度 Top 10 出炉!

链接:https://bbbe.top/archives/4114.html
来源:随风的博客
文章版权归作者所有,未经允许请勿转载。
本网站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本网站不承担任何责任。
本声明未涉及的问题参见国家有关法律法规,当本声明与国家法律法规冲突时,以国家法律法规为准。
本文仅供学习参考,请勿用于违法用途。 若根据文章内容操作遭受任何损失,请自行承担责任。
THE END
分享
二维码
打赏
< <上一篇
下一篇>>