欢迎来到我们的Python顶级库列表

规则很简单。我们正在寻找满足以下条件的库:

  1. 它们于2020年推出或普及。
  2. 自启动数据以来,它们一直得到很好的维护。
  3. 它们非常酷,您应该检查一下它们。

免责声明:今年,我们的选择在很大程度上受机器学习/数据科学图书馆的影响,尽管其中某些确实对非数据科学人士非常有用。此外,尽管我们有10个主要选择(还有奖金),但我们还是决定增加一个新的“荣誉提及”部分,以便对我们发现但不能遗漏的其他图书馆公道。

这篇文章的精神是使这些图书馆更具可见性,并围绕我们可能已经错过的其他一些绝佳选择引发讨论(在评论中或其他地方)-我们相信确实存在。

因此,事不宜迟,让我们开始吧。

1.打字机

您不一定总是需要编写CLI应用程序,但这样做时最好是没有麻烦的体验。继FastAPI取得巨大成功之后,tiangolo使用了相同的原理为我们带来了Typer:一个新的库,使您可以利用Python 3.6+的类型提示功能来编写命令行界面。

该设计确实使Typer脱颖而出。除了确保代码已正确记录之外,您还可以轻松进行CLI界面的验证。通过使用类型提示,您可以在Python编辑器(如VSCode)中获得自动补全功能,这将提高您的生产率。

为了增强其功能,Typer内部位于Click的顶部,而Click则是众所周知的,并且经过了严格的测试。这意味着它可以利用其所有好处,社区和插件,同时以更少的样板代码开始简单,并根据需要变得越来越复杂。

与往常一样,该文档确实很有帮助,并且应该是其他项目的典范。绝对不能错过!

2.丰富

遵循CLI的主题,谁说终端应用程序必须是单色白色,或者如果您是真正的黑客,则必须是绿色,是黑色?

是否要在终端输出中添加颜色和样式?脉动地打印复杂表?毫不费力地显示漂亮的进度条?降价?表情符号?Rich检查所有框。查看示例屏幕快照,以了解可能的情况:

绝对可以将使用终端应用程序的体验提升到全新水平的库。

3.亲爱的PyGui

虽然,正如我们所见,终端应用程序可以很漂亮,但有时还不够,您需要一个真正的GUI。为此,流行的Dear ImGui C ++项目的Python端口Dear PyGui。

亲爱的PyGui利用了在视频游戏中流行的即时模式范例。这基本上意味着动态GUI是逐帧独立绘制的,无需保留任何数据。这使得该工具与其他Python GUI框架根本不同。它具有很高的性能,并使用计算机的GPU来促进构建高度动态的界面,这在工程,仿真,游戏或数据科学应用程序中经常需要。

亲爱的PyGui可以在没有陡峭的学习曲线的情况下使用,并且可以在Windows 10(DirectX 11),Linux(OpenGL 3)和MacOS(Metal)上运行。

4. PrettyErrors

简单的喜悦。这是让您思考的库之一:以前没有人想到过这件事吗?

PrettyErrors只做一件事并且做得很好。在支持彩色输出的终端中,它将隐秘的堆栈轨迹转换为更适合用微弱的人眼解析的东西。不再需要扫描整个屏幕来查找异常的原因……您现在就可以一目了然!

5.图表

我们程序员喜欢解决问题和代码。但是有时候,我们需要向其他同事解释复杂的建筑设计,这是非常需要的项目文档的一部分。传统上,我们使用GUI工具,在其中我们可以处理图表和可视化以放入演示文稿和文档。但这不是唯一的方法。

图表使您无需任何设计工具即可直接在Python代码中绘制云系统架构。它具有的图标对于多个云提供商(包括AWS,Azure,GCP)将派上用场。这使创建箭头和组非常容易。真的,只有几行代码!

基于代码的图表的最好之处是什么?您可以通过标准git使用版本控制跟踪更改!开发人员会很高兴。

6. Hydra和OmegaConf

在进行机器学习项目的研究和实验时,总是有无数的设置可以尝试。在非平凡的应用程序中,配置管理会变得相当复杂,非常快。有一种结构化的方式来处理这种复杂性不是很好吗?

Hydra是一种工具,可让您以可组合的方式构建配置,并从命令行或配置文件覆盖某些部分。

为了说明可以使用该库简化的一些常见任务,我们假设有一个我们正在试验的模型的基本体系结构,以及它的多种变体。使用Hydra,可以定义基本配置,然后运行多个作业,并进行以下更改:

python train_model.py variation=option_a,option_b

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

Hydra的表亲OmegaConf为分层配置系统的基础提供了一致的API,并支持YAML,配置文件,对象和CLI参数等不同来源。

21世纪进行配置管理的必备条件!

7. PyTorch闪电

每一种提高数据科学团队生产力的工具都值得金。没有理由让从事数据科学项目的人每次都重新发明轮子,反复思考如何更好地组织其项目中的代码,使用维护得不好的“ PyTorch样板”,或者使用更高级别的抽象的贸易潜力控制。

闪电通过将科学与工程脱钩来帮助提高生产力。从某种意义上说,它使您的代码更简洁,有点像TensorFlow的Keras。但是,这并不能控制您。它仍然是PyTorch,您可以访问所有常用的API。

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

一个可以帮助数据科学团队的初级成员产生更好结果的库,但是,由于整体生产力的提高,而没有放弃控制权,更有经验的成员会喜欢它。

8.蜂鸟

并非所有的机器学习都是深度学习。通常,您的模型由scikit-learn中实现的更传统的算法(例如Random Forest)组成,或者您使用诸如流行的LightGBM和XGBoost之类的梯度提升方法。

但是,深度学习领域正在发生许多进步。像PyTorch这样的框架正在以惊人的速度发展,并且硬件设备已经过优化,可以更快地运行张量计算并降低功耗。如果我们可以利用所有这些工作来更快,更有效地运行传统方法,那不是很好吗?

这是Hummingbird的用武之地。微软提供的这个新库可以将训练有素的传统ML模型编译为张量计算。这很棒,因为它使您无需重新设计模型。

到目前为止,Hummingbird支持转换为PyTorch,TorchScript,ONNX和TVM,以及各种ML模型和矢量化器。推理API也与Sklearn范例非常相似,后者可让您重用现有代码,但将实现更改为Hummingbird生成的代码。这是一个值得关注的工具,因为它获得了对模式模型和格式的支持!

9. HiPlot

几乎每个数据科学家在职业生涯中的某个时候都曾处理过高维数据。不幸的是,人脑没有足够的连线直观地处理这种数据,因此我们必须求助于其他技术。

今年初,Facebook发布了HiPlot,这是一个库,可使用并行绘图和其他图形方式来表示信息,从而帮助发现高维数据中的相关性和模式。他们的发布博客中对此概念进行了解释,但从根本上讲,它是一种可视化和过滤高维数据的好方法。

HiPlot是交互式的,可扩展的,您可以从标准Jupyter笔记本电脑或通过其自己的服务器使用它。

10.斜角

随着Python库生态系统变得越来越复杂,我们发现自己正在编写越来越多的依赖C扩展和多线程代码的代码。在衡量性能时,这成为一个问题,因为CPython内置的探查器无法正确处理多线程和本机代码。

那时,Scalene进行了救援。Scalene是用于Python脚本的CPU和内存探查器,能够正确处理多线程代码并区分运行Python和本机代码所花费的时间。无需修改代码,只需要从命令行使用scalene运行脚本,它将为您生成文本或HTML报告,显示代码每一行的CPU和内存使用情况。

奖励:诺菲尔

如果不包括我们自己的用于视频分析应用程序的本地婴儿,我们将无法完成此列表。

Norfair是一个可定制的轻量级Python库,用于实时对象跟踪。换句话说,它为不同帧中的每个检测到的对象分配一个唯一的ID,以便您随着时间的推移识别它们。使用Norfair,您只需几行代码就可以为任何检测器添加跟踪功能。“任何探测器”吗?是。无论对象表示是什么样的:包围盒(4个坐标),单点质心,具有超过一定概率阈值的可变数量关键点的人体姿态估计系统的输出,或其他任何东西。

用户定义了用于计算跟踪对象与检测之间的距离的功能,可以根据需要完全自定义。

它也很快,并且可以实时运行。但是,真正的美在于它是非常模块化的,您可以仅使用几行代码就可以使用现有的检测代码库并为其添加跟踪功能。我们欢迎任何意见和建议,并每天努力提高Norfair的功能!

荣誉奖

  • quart-具有Flask兼容API的异步Web框架。一些现有的Flask扩展程序甚至可以使用!
  • 不在场检测-监视生产模型中的异常值和分布漂移,以获取表格数据,文本,图像和时间序列。
  • einops —在2020年流行,einops可让您编写张量操作以获得可读且可靠的代码,并支持numpy,PyTorch,TensorFlow等。Karpathy推荐,您还需要其他吗?
  • 节-斯坦福提供60多种语言的准确自然语言处理工具。针对不同任务的多个可用的预训练模型。
  • 数据集-来自HuggingFace,轻巧且可扩展的库,可轻松共享和访问用于自然语言处理(NLP)等的数据集和评估指标
  • pytorch-precasting-使用神经网络简化对真实案例和研究的时间序列预测。
  • sktime-提供专用的时间序列算法和scikit-learn兼容工具,用于构建,调整和评估组合模型。还要检查其配套的sktime-dl软件包,以获取基于深度学习的模型。
  • netron-神经网络,深度学习和机器学习模型的可视化工具。支持的格式比我所知道的还要多。
  • pycaret —包装了几个常见的ML库,使您的工作效率大大提高,节省了数百行代码。
  • 张量传感器-通过改善错误消息并提供可视化效果,帮助您正确确定张量数学的尺寸。

2020年排名前10的Python库相关推荐

  1. python怎么读取github_六行代码获取Github排名前10的Python项目

    六行代码获取Github排名前10的Python项目 Github开放了不少API.下面是对这些API的一个使用. # 获取返回信息 import requests as r url="ht ...

  2. 2020年排名前10的前端框架

    Ant Design 网站链接:https://ant.design/index-cn 蚂蚁金服出品,非常著名的框架.就算你不了解前端,也会在公司的项目中多少听到程序员说起过.目前很多公司都在用,已经 ...

  3. 2022 年你必须知道的 10 个 Python 库

    前 10 个 Python 库: Python 是服务于各种用途的库的海洋,作为 Python 开发人员,您必须对最好的库有充分的了解.为了在这方面为您提供帮助,这里有一篇文章为您介绍了用于机器学习的 ...

  4. 【邢不行|量化小讲堂系列44-实战篇】历年排名前10的基金,在第2年表现如何?Python告诉你答案

    引言: 邢不行的系列帖子"量化小讲堂",通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助. [历史文章汇总]请点击此处 [必读文章]EOS期现 ...

  5. 鱼佬阿水竞赛相声:我是如何2小时杀进排名前10%的!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 鱼佬,武汉大学硕士:阿水,北京航空航天大学硕士 鱼佬:Datawhale ...

  6. 进销存软件有哪些?进销存软件排名前10的有哪些?

    自己开店或开公司的老板,多多少少都听过进销存软件,进销存软件都有什么用?市面上比较好的进销存软件都有哪些,接下来就为大家详细解读一下. 进销存软件的含义 进销存软件从字面意思理解就是,进货.销售.库存 ...

  7. 雷神台式计算机排行,2020台式电脑排名前十推荐

    很多小伙伴都想了解2020年台式电脑排名前十的有哪些,方便在选择电脑的时候作为参考.那今天小编也整理了多方数据,给大家推荐质量好的台式电脑排名前十的给大家. 1.联想拯救者 刃9000 主机(定制氛围 ...

  8. map分组后取前10个_人口净流入排名前10的城市,在这10个城市买房,只涨不跌

    最近几年,房价是涨了又涨,达到了最巅峰!最贵的一二线大城市已经涨到了一平米六七万的高价,一套房子下来怎么也得几百万,普通老百姓可能听到这样的价格就吓傻了,这样的数字简直就是天文数字,很多人一辈子都赚不 ...

  9. 假如唐诗评选第一,您选哪一首?大数据排名前10的唐诗您知道吗

    假如唐诗评选第一,您选哪一首?大数据排名前10的唐诗您知道吗 老街味道 发布时间: 03-1100:50文化达人,优质创作者 前言 前几天看到一个关于第一的问题.文学作品不是田径比赛,无论怎么评选,都 ...

最新文章

  1. scapy windows install
  2. C语言的单链表求交点
  3. netty中的future和promise源码分析(二)
  4. Flutter开发之布局-1-Column(15)
  5. JDK1.8并发包中的类
  6. 过滤器过滤特定的url_如何从过滤器中排除URL
  7. java使用场景什么意思_Java开发中类隐藏及应用场景分析是什么?
  8. SAP License:新总账
  9. S5PV210体系结构与接口07:中断系统编程
  10. Nginx 系列:Nginx 实践,location 路径匹配
  11. 一步步学习SPD2010--第九章节--使用可重用工作流和工作流表单(13)--修改任务表单...
  12. python生成姓名,python生成随机姓名
  13. unity安装到一半失败
  14. 程序员使用C#编写表白小软件(VS2013)(表白程序)
  15. 技术分享 | 相较于ROS 1,ROS 2有哪些优越性?
  16. 对抗样本之DeepFool原理coding
  17. CSS-animation-梦幻西游小案例
  18. WinForm使用CefSharp,嵌入浏览器
  19. excel查找出不来了_Excel查找明明存在的数据却查不到,是什么原因?|excel表格数据为什么搜查不到...
  20. Win10远程桌面连接不上Win7的桌面的一次奇葩经历

热门文章

  1. WPS/WORD论文格式调整方法
  2. NC65在日常开发中常用的代码写法
  3. 本科项目——51单片机多功能万年历
  4. 【编程题】【Scratch四级】2021.09 小猫钓鱼
  5. 我用Python实现自动化办公,美女同事投来羡慕的眼神,而后···
  6. Deepin安装应用
  7. 百度AI实现图片转文字-python
  8. 学习cairo的心得及资料
  9. 哈希表 matlab实现,MATLAB中的哈希表
  10. CAD制图初学入门 零基础学CAD要掌握技能精选