专栏首页CDA数据分析师Github年度最强的10个Python库

Github年度最强的10个Python库

开源最前线(ID:OpenSourceTop) 整编

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

近日,专门提供Python服务的网站Troy Labs盘点出了2020年发布的Python库Top10。一起来看看2020年最强Python库都有哪些:

1. Typer

你可能并不怎么需要写CLI应用程序,但在有些时候还是需要用到,在FastAPI取得巨大成功之后,tiangolo使用同样的原理开发了typo,这是一个新的库,它允许你利用Python 3.6+的类型提示特性来编写命令行接口。

这样的设计除了可以确保你的代码得到适当的文档化,你还可以更快速的得到一个带有验证的CLI界面。通过使用类型提示,你可以在编辑器(如VSCode)代码自动补全,大大提高了你的工作效率。

为了增强它的特性,Typer还能配合命令行神器Click使用,这意味着Typer可以充分利用Click的所有优点和插件,并根据自己的需求实现更加复杂的功能。

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

2. Rich

谁说终端应用程序就一定是单一的黑白色?其实它也可以是彩色的。

你想要在终端添加颜色和样式么?你想要你的终端可以快速打印复杂的表么?你想要轻松地显示漂亮的进度条、Emojis么?以上这些功能通通都可以在Rich中实现,看看下面的示例截图你就懂了:

这个库将终端应用程序的体验提升到了一个全新的水平。

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

3. Dear PyGui

尽管Rich可以让你的终端应用程序变得很漂亮,但有时这还不够,你更需要的是一个真正的GUI,Dear PyGui是一个便于使用、功能强大的Python GUI框架。

Dear PyGui使用了在电子游戏中很流行的即时模式范式。这基本上意味着动态GUI是逐帧独立绘制的,不需要持久化任何数据。这也是Dear PyGui与其他Python GUI框架不同的地方,Dear PyGui的高性能,是你在工程、模拟、游戏或数据科学应用程序中经常需要用到的。

Dear PyGui支持Windows 10 (DirectX 11), Linux (OpenGL 3) and MacOS (Metal)

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

4. PrettyErrors

PrettyErrors是一个精简Python错误信息的工具,PrettyErrors只做一件事,它支持在终端进行彩色输出,标注出文件栈踪迹。这样一来,你就不需要扫描整个屏幕来找到异常的部分。

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

5. Diagrams

我们程序员喜欢解决问题和编写代码,但有时,我们需要向其他同事解释复杂的架构设计,作为项目文档的一部分。一般情况下,我们会使用GUI工具处理图表,并将文稿进行可视化处理。但是还有更好的方法。

Diagrams可以让你在没有任何设计工具的情况下直接用Python代码绘制云系统架构,它的图标对包括括AWS、Azure、GCP在内的几家云服务提供商来说都很有用。这使得创建箭头和组变得非常容易,而且只需要几行代码就能实现。

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

6. Hydra and OmegaConf

在机器学习项目中做研究和实验时,总是有无数的设置可以尝试,在重要的应用程序中,配置管理可能会变得非常复杂,如果有一种结构化的方法来处理这些难题就好了。

Hydra允许你以一种可组合的方式构建配置,并从命令行或配置文件中覆盖某些部分。下面举个例子,关于如何使用Hydra定义一个基本配置,然后用它们运行多个不容的任务:

python train_model.py variation=option_a,option_b

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

7. PyTorch Lightning

每一个能够提高数据科学团队生产力的工具都是非常宝贵的。PyTorch Lightning通过将科学与工程分离的方式来提高效率,它有点像TensorFlow的Keras,在某种意义上,它可以使你的代码更加简洁,不过它依然还是PyTorch,你依然可以访问所有常用的api。

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

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

8. Hummingbird

Hummingbird是微软的一项研究成果,它能够将已经训练好的ML模型汇编成张量计算,从而不需要设计新的模型。还允许用户使用神经网络框架(例如PyTorch)来加速传统的ML模型。它的推理API跟sklearn范例十分相似,都可以重复使用现有的代码,但是它是用Hummingbird生成的代码去实现的。

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

9. HiPlot

几乎每一个数据科学家在他们的职业生涯中都有过处理高维数据的经历。不幸的是,人类的大脑并不能完全凭直觉处理这类数据,所以我们必须求助于其他技术。

今年早些时候,Facebook发布了HiPlot,它是用平行图和其他的图像方式,帮助AI研究者发现高维数据的相关性和模型,是一款轻巧的交互式可视化工具。HiPlot是交互式的,可扩展的,因此你可以在Jupyter Notebooks或者它自己的服务器上使用它。

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

10. Scalene

随着Python库的生态系统变得越来越复杂,我们发现自己编写的代码越来越依赖于C扩展和多线程代码。如何测试性能这就成一个问题,因为CPython内置的分析器不能正确地处理多线程和本机代码。

Scalene是一个高性能的CPU内存分析器,它能够正确处理多线程代码,并区分运行Python和本机代码所花费的时间。不需要修改代码,只需要使用scalene从命令行运行脚本,它就可以为你生成一个文本或HTML报告,显示代码每行的CPU和内存使用情况。

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

本文分享自微信公众号 - CDA数据分析师(cdacdacda)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-03-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 盘点2015年度10大最流行的Python库

    Python编程语言的一大优势,就在于其丰富的第三方库。经过过去一年的时间,Python的世界中又涌现出了哪些优秀的第三方库呢?在本文中,我将给大家介绍2015...

    CDA数据分析师
  • 谁是2020年最强Python库?年度Top10出炉,看你用过几个!

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

    统计学家
  • 2020年10个不错的Python库

    本文最初发表于 Tryolabs 网站,经原作者 Alan Desoins 授权,InfoQ 中文站翻译并分享。

    深度学习与Python
  • 【GitHub 2017年度报告】70万中国新用户,Python超越Java成第二受欢迎语言

    【新智元导读】GitHub 2017年年度报告发布:这一年,全球200多个国家的2400万开发者用337种编程语言创建了2530万活跃repos。其中,有70万...

    新智元
  • 聊聊 2018 年 GitHub 上增长最快的 10 个项目

    每年 GitHub 官方都会发布一份年度报告,以介绍过去一年 GitHub 的成长。在不久前,GitHub 官方也正式发布了该份报告。

    GitHubDaily
  • GitHub迎来史上最大产品变革:发布可直接运行代码的GitHub Actions

    10月16日,全球最大开发者社区GitHub Universe开发者大会在旧金山召开,会议持续两天,在刚刚顺利闭幕。本次大会主题为“认可开发者集体的成果以及增强...

    大数据文摘
  • 2020年10月GitHub上最热门的Python开源项目

    10月份GitHub上最热门的Python开源项目排行已经出炉啦,一起来看看上榜详情吧:

    龙哥
  • 我从GitHub上看到了编程语言八年变迁史 | Reddit 30.7k

    最近,一位博主PieChartPirate统计了从2012年6月-2020年6月GitHub上最受欢迎的编程语言,看到了整个语言的变迁史,一直稳居第一宝座的是J...

    量子位
  • 2019 年 最受欢迎的10个 JavaScript 动画库!

    JavaScript 依然会是 2019 年最受欢迎和使用最为广泛的编程语言, JavaScript 生态系统也会继续发展壮大。

    一墨编程学习

扫码关注云+社区

领取腾讯云代金券