2020年10款优秀的Python第三方库,看看有你中意的吗?


Posted in Python onJanuary 12, 2021

相对于numpy、TensorFlow、pandas这些已经经过多年维护、迭代,对于大多数Python开发者耳熟能详的库不同。

今天要给大家介绍的是诞生于2020年的新鲜Python库,而且,本文介绍的这10个Python库一直都受到非常好的维护。

废话不多说,下面开始本文的正式内容!

1. Typer

2020年10款优秀的Python第三方库,看看有你中意的吗?

或许,你并非经常编写 CLI 应用程序,但是当你编写时,有可能会遇到很多障碍。

继FastAPI的巨大成功之后,tiangolo用同样的原则为我们带来了Typer[1]:一个新的库,它能让你利用Python 3.6+的类型提示功能来编写命令行接口。

这个设计确实让Typer脱颖而出。除了确保你的代码是正确的文档,你还可以通过小小的改动得到一个带有验证的CLI接口。

而且通过使用类型提示,你可以在你的Python编辑器中获得自动完成(比如VSCode),这将提高你的工作效率。

为了增强它的功能,Typer在另外一款非常知名的CLI工具Click的基础之上做了很多优化和改善。这意味着它可以利用它的所有优点、社区和插件,同时以较少的模板代码开始简单的工作。

2. Rich

2020年10款优秀的Python第三方库,看看有你中意的吗?

顺着CLI的话题,在使用终端时,往往是单调的白色,这非常不利于分辨和阅读。

你想给你的终端输出添加色彩和与众不同的风格吗?打印复杂的表格?显示漂亮的进度条?Markdown?Emojis?

Rich[2]都能满足你的要求。

请看示例截图,了解一下它的功能。

3. Dear PyGui

2020年10款优秀的Python第三方库,看看有你中意的吗?

虽然,正如我们所看到的,终端应用可以很好看,但有时这还不够,你需要一个真正的GUI。

为此,Dear PyGui[3]应运而生,它是流行的Dear ImGui C++项目的Python移植。

Dear PyGui利用了在视频游戏中流行的所谓即时模式范式。

这意味着动态GUI是一帧一帧独立绘制的,不需要持久化任何数据。这使得这个工具与其他Python GUI框架有着本质上的区别。

它具有很高的性能,并使用计算机的GPU来促进高动态界面的构建,这在工程、模拟、游戏或数据科学应用中是经常需要的。

4. PrettyErrors

2020年10款优秀的Python第三方库,看看有你中意的吗?

这是一个让你觉得:"怎么以前没有人想到它?"的Python库。

PrettyErrors[4]只做了一件事,而且做得很好。

在支持彩色输出的终端中,它将混乱的报错信息转化为更适合我们人类的眼睛来解析的东西。

不再苦苦扫描整个屏幕,定位报错信息......现在你可以一目了然地找到它。

5. Diagrams

2020年10款优秀的Python第三方库,看看有你中意的吗?

我们程序员喜欢解决问题和编码。

但有时,作为非常需要的项目文档的一部分,我们需要向其他同事解释复杂的架构设计。

传统上,我们已经求助于GUI工具,我们可以在图表和可视化上下功夫,把它放在演示和文档中。

但这不是唯一的方式。

Diagrams[5]可以让你不用任何设计工具,直接在Python代码中绘制云系统架构。

只需要几行代码,就可以绘制一幅亮眼的架构图。

6. Hydra and OmegaConf

在做机器学习项目的研究和实验时,总有无数的设置需要尝试。

在一些应用中,配置管理变得非常复杂。如果有一种结构化的方式来处理这种复杂性,会极大的提高开发效率。

Hydra[6]是一个工具,它允许你以可组合的方式构建配置,并从命令行或配置文件中覆盖某些部分。

python train_model.py variation=option_a,option_b 
 
├── variation 
│   ├── option_a.yaml 
│   └── option_b.yaml 
├── base.yaml 
└── train_model.py 

另一款工具,OmegaConf[7]为分层配置系统的基础提供了一致的API,支持YAML、配置文件、对象和CLI参数等不同来源。

7. PyTorch Lightning

2020年10款优秀的Python第三方库,看看有你中意的吗?

每一个能够提高数据科学团队生产力的工具都是价值连城的。

没有理由让在数据科学项目中工作的人每次都要重新发明轮子,反复思考如何更好地组织项目中的代码,使用一些不太好维护的 "PyTorch boilerplate",或者用潜在的控制权换取使用更高级别的抽象。

Lightning[8]通过将科学与工程脱钩,有助于提高生产力。它有点像TensorFlow的Keras,在某种意义上,它使你的代码更加简洁。

然而,它并没有夺走你的控制权。它仍然是PyTorch,你可以使用所有常用的API。

这个库可以帮助团队利用软件工程的良好实践,围绕组件的组织和明确的责任,构建高质量的代码,可以轻松地扩展到多个GPU、TPU和CPU上进行训练。

这个库可以帮助数据科学团队中那些初级成员产生更好的结果,同时,更有经验的成员也会喜欢它,因为在不放弃控制权的前提下,提高了整体生产力。

8. Hummingbird

2020年10款优秀的Python第三方库,看看有你中意的吗?

不是所有的机器学习都是深度学习。很多时候,你的模型由scikit-learn中实现的比较传统的算法组成(比如随机森林),或者你使用梯度提升方法,比如流行的LightGBM和XGBoost。

然而,在深度学习领域正在发生很多变化。像PyTorch这样的框架正在以令人窒息的速度前进,硬件设备也在优化,以更快的速度和更低的功耗运行张量计算。如果我们能够利用这些工作,更快、更高效地运行我们的传统方法,岂不美哉?

这就是Hummingbird[9]的用武之地。

微软的这个新库可以将你训练好的传统ML模型编译成张量计算。

这很好,因为它可以让你摆脱重新设计模型的需要。

截至目前,Hummingbird支持转换到PyTorch、TorchScript、ONNX和TVM,以及各种ML模型和矢量器。

9. HiPlot

2020年10款优秀的Python第三方库,看看有你中意的吗?

几乎每一位数据科学家在其职业生涯的某个阶段都曾处理过高维数据。

不幸的是,人类的大脑并没有足够的能力直观地处理这种数据,所以我们必须借助其他技术。

今年年初,Facebook发布了HiPlot[10],这是一个帮助发现高维数据中的相关性和模式的库,使用平行图和其他图形方式来表示信息。在他们的发布博文中解释了这个概念,但基本上是一种很好的、方便的可视化和过滤高维数据的方法。

HiPlot是交互式的,可扩展的,你可以从你的标准Jupyter Notebooks或通过它自己的服务器使用它。

10. Scalene

2020年10款优秀的Python第三方库,看看有你中意的吗?

随着Python库的生态系统越来越复杂,我们发现自己编写了越来越多的依赖于C扩展和多线程代码的代码。

在对比性能时,这就成了一个问题,因为CPython内置的剖析工具不能正确处理多线程和本地代码。

这时,Scalene[11]就来救场了。

Scalene是一个针对Python脚本的CPU和内存剖析工具,它能够正确处理多线程代码,并区分运行Python和本地代码的时间。

你不需要修改你的代码,你只需要用scalene从命令行运行你的脚本,它就会为你生成一个文本或HTML报告,显示每行代码的CPU和内存使用情况。

结语

一款好用的工具,能够让开发者事半功倍。

对于Python这种极度依赖第三方工具包的编程语言更是如此。

因为有了这些优秀的工具,才使得Python生态得以完善和状态。

以上就是2020年10款优秀的Python第三方库,看看有你中意的吗?的详细内容,更多关于python 第三方库的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python实现的检测web服务器健康状况的小程序
Sep 17 Python
浅谈python 四种数值类型(int,long,float,complex)
Jun 08 Python
Python max内置函数详细介绍
Nov 17 Python
pandas数据框,统计某列数据对应的个数方法
Apr 11 Python
Python中pillow知识点学习
Apr 30 Python
快速解决pandas.read_csv()乱码的问题
Jun 15 Python
Python实现多级目录压缩与解压文件的方法
Sep 01 Python
不到20行代码用Python做一个智能聊天机器人
Apr 19 Python
python如何删除文件中重复的字段
Jul 16 Python
Python实现线性判别分析(LDA)的MATLAB方式
Dec 09 Python
解决python-docx打包之后找不到default.docx的问题
Feb 13 Python
Python线程协作threading.Condition实现过程解析
Mar 12 Python
python3 kubernetes api的使用示例
Jan 12 #Python
python excel和yaml文件的读取封装
Jan 12 #Python
python drf各类组件的用法和作用
Jan 12 #Python
Python try except else使用详解
Jan 12 #Python
python 逆向爬虫正确调用 JAR 加密逻辑
Jan 12 #Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
Jan 12 #Python
使用sublime text3搭建Python编辑环境的实现
Jan 12 #Python
You might like
php adodb连接mssql解决乱码问题
2009/06/12 PHP
phpMyAdmin 链接表的附加功能尚未激活的问题
2010/08/01 PHP
PHP基础知识介绍
2013/09/17 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
2014/09/16 PHP
PHP类相关知识点实例总结
2016/09/28 PHP
基于jQuery的合并表格中相同文本的相邻单元格的代码
2011/04/06 Javascript
基于JQuery的动态删除Table表格的行和列的代码
2011/05/12 Javascript
jQuery动态显示和隐藏datagrid中的某一列的方法
2013/12/11 Javascript
javascript初学者常用技巧
2014/09/02 Javascript
浅谈jQuery中对象遍历.eq().first().last().slice()方法
2014/11/26 Javascript
Javascript基础教程之数组 array
2015/01/18 Javascript
javascript判断css3动画结束 css3动画结束的回调函数
2015/03/10 Javascript
js实现简单鼠标跟随效果的方法
2015/04/10 Javascript
JavaScript SHA512&SHA256加密算法详解
2015/08/11 Javascript
js实现温度计时间样式代码分享
2015/08/21 Javascript
react系列从零开始_简单谈谈react
2017/07/06 Javascript
vue cli 3.0 使用全过程解析
2018/06/14 Javascript
JS封装的模仿qq右下角消息弹窗功能示例
2018/08/22 Javascript
微信公众号服务器验证Token步骤图解
2019/12/30 Javascript
Python学习小技巧之列表项的拼接
2017/05/20 Python
Python对List中的元素排序的方法
2018/04/01 Python
django一对多模型以及如何在前端实现详解
2019/07/24 Python
keras 使用Lambda 快速新建层 添加多个参数操作
2020/06/10 Python
Python3 搭建Qt5 环境的方法示例
2020/07/16 Python
Furla官网:意大利著名的皮革品牌
2019/08/06 全球购物
德国的各种媒体在线商店:Thalia.de(书籍、电子书、玩具等)
2020/10/08 全球购物
白酒市场开发计划书
2014/01/09 职场文书
学习委员自我鉴定
2014/01/13 职场文书
2014升学宴答谢词
2014/01/26 职场文书
学校地质灾害防治方案
2014/06/10 职场文书
大学本科生职业生涯规划书范文
2014/09/14 职场文书
婚宴祝酒词大全
2015/08/10 职场文书
清明扫墓感想
2015/08/11 职场文书
详解盒子端CSS动画性能提升
2021/05/24 HTML / CSS
python四种出行路线规划的实现
2021/06/23 Python
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers