誰是2020年最強Python庫?年度Top10出爐

2021-01-08 量子位

蕾師師 發自 凹非寺量子位 報導 | 公眾號 QbitAI

2020年已經過去了,國外的一家專門提供Python服務的網站Troy Labs,盤點出了2020年發布的Python庫Top10。

上榜的有FastAPI的升級版Typer、將CLI變成彩色的Rich、基於GUI框架的Dear PyGui、還有精簡報錯信息的PrettyErrors……總有一款是你想要的。

下面就讓我們一起來看看吧~

1、Typer

Typer跟FastAPI的原理相同,都是Python上用來構建API服務的一個高性能框架。

它是FastAPI的升級版,不僅能夠準確地記錄代碼,還能夠輕鬆地進行CLI驗證。

Typer易於學習和使用,不需要用戶閱讀複雜的教程文檔即可上手。支持編輯器(如VSCode)代碼自動補全,提高開發人員的開發效率,減少bug的數量。

其次,Typer還能配合命令行神器Click使用,就可以利用Click的優點和插件,實現更複雜的功能。

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

2、Rich

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

Rich API不僅能夠在終端輸出提供豐富的彩色文本和精美的格式,還提供了精美的表格、進度條、編輯器、追蹤器、語法高亮等。如下圖所示。

它還可以安裝在Python REPL上,所有的數據結構都可以漂亮地輸出或標註。

總而言之,它是彩色的、漂亮的、強大的。

Rich兼容性也不錯,適用於Linux,Mac和Windows等多種系統。真彩色/表情符號可與新的Windows終端一起使用。

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

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

3、Dear PyGui

如上所示,雖然終端應用程式可以做成很漂亮的樣子。但是,你可能還需要一個真正的GUI。

Dear PyGui是一個便於使用、功能強大的Python GUI框架。但是它與其他的Python GUI卻有著根本上的不同。

它使用了即時模式範式和計算機的GPU來實現動態界面。即時模式範式在視頻遊戲中非常流行,這意味著它的動態GUI不需要保留任何數據,而是逐幀獨立繪製的。同時,它還使用GPU來建構動態界面。

Dear PyGui還可以繪圖、創建主題、創建2D遊戲,還擁有一些小工具,比如說內置文檔、日誌記錄、原始碼查看器之類的,這些小工具可以協助App的開發。

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

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

4、PrettyErrors

PrettyErrors是一個精簡Python錯誤信息的工具,特點是界面十分簡潔友好。

它最顯著的功能是支持在終端進行彩色輸出,標註出文件棧蹤跡,發現錯誤信息,過濾掉冗餘信息,提取出關鍵部分,並且進行彩色標註,從而提高開發者的效率。

而且它可以不用安裝,直接被導入項目中使用,但是需要先配置一些參數,其導入和配置的參數如下:

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

5、Diagrams

程式設計師在編程的時候,有時候需要跟同事解釋他設計的程序代碼之間複雜的結構關係,然而這不是一兩句話能說清楚的,需要畫表或者做脈絡圖。

一般情況下,程式設計師使用GUI工具處理圖表,並將文稿進行可視化處理。但是還有更好的方法,比如說使用Diagrams庫。

Diagrams讓不需要任何設計類工具,直接在Python代碼中繪製雲系統結構。它們的圖標來自多家雲服務商,包括AWS, Azure, GCP等。

僅需幾行代碼,就可以簡單地創造出箭頭符號和結構圖。

由於它使用Graphviz來渲染圖,所以還需要先安裝好Graphviz。

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

6、Hydra and OmegaConf

在做機器學習項目的時候,需要做一大堆的環境配置工作。因此,在一些複雜的應用程式中,配置管理工作也相應變得複雜。

Hydra可以使配置工作變得簡單。它能夠從命令行或者配置文件中覆蓋部分出來,無需維護相似的配置文件,用組合的方式進行配置,從而加快了實驗運行速度。

Hydra兼容性強,擁有含插件的結構,能夠很好地與開發者的操作文件融合。它的插件還可以實現直接通過命令行,就把代碼發布到AWS或者其他雲端系統。

Hydra也離不開OmegaConf,兩者關係密不可分,OmegaConf為Hydra的分層配置系統提供了協同的API,二者協同運作可支持YAML、配置文件、對象、CLI參數等。

開源地址:https://github.com/facebookresearch/hydrahttps://github.com/omry/omegaconf

7、PyTorch Lightning

PyTorch Lightning也是Facebook的一個研究成果。它是一個輕巧的PyTorch包裝器,用於高性能AI研究,其最重要的特徵是能夠解析PyTorch代碼,讓代碼研究成分和工程成分的分離。

它的擴展模型可以在任何硬體(CPU、GPU、TPU)上運行,且容易被複製,刪除了大量的文件樣本,保持了自身的靈活性,運行速度快。

Lightning能夠使DL / ML研究的40多個部分實現自動化,例如GPU訓練、分布式GPU(集群)訓練、TPU訓練等等……

因為Lightning將可以將文件自動導出到ONNX或TorchScript,所以它適用於進行快速推理的AI研究員、BERT或者自監督學習的研究團隊等。

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

8、Hummingbird

Hummingbird是微軟的一項研究成果,它能夠將已經訓練好的ML模型彙編成張量計算,從而不需要設計新的模型。

還允許用戶使用神經網絡框架(例如PyTorch)來加速傳統的ML模型。

它的推理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研究者發現高維數據的相關性和模型,是一款輕巧的交互式可視化工具。

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和內存的使用情況。通過這個文本報告,開發人員可以提高代碼的效率。

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/

相關焦點

  • 2020年最流行的十個Python庫(上)
    Python之所以強大,還因為它擁有大量的庫,這使得python滲透於任何類型的開發,藉助python可以進行網絡開發,腳本編寫,遊戲開發,數據科學等工作。在本文中,將向您介紹2020年在大廠Python老師傅中最流行的的十大Python庫。本篇介紹其中5個。對於每一個庫,都會說明為什麼會推薦它?庫的功能說明和簡單例子。讓大家不僅看的精彩,也能立刻上手。
  • 2020年六大機器學習Python庫!
    外頭有許多類型的python庫可用,本文介紹了一些流行的機器學習庫。1. NumPy:NumPy是一種通用的數組處理軟體包。它提供高性能的多維數組對象和用於處理這些數組的工具。它是用於科學計算的基本Python軟體包。NumPy針對Python的CPython參考實現,這是一種非優化的字節碼解釋器。
  • Python第三方庫安裝
    Python第三方庫安裝方法包含:-pip安裝-集成環境自帶-文件安裝三種方法1. pip安裝1.1 如何查找第三方庫Python社區可以查找第三方庫的,其頁面如圖所示:pypi.org其中PyPI: Python Package Index是由PSF維護的展示全球Python計算生態的主站如要安裝圖像處理opencv-python庫可以搜索 opencv,但結果如下:
  • 2019年必知的10大頂級Python庫
    python 在開發人員中流行的原因有很多。然而,最重要的一點是它有大量的庫供用戶使用。python 的簡單性吸引了許多開發人員為機器學習創建新的庫。由於有大量的庫,python 在機器學習專家中變得非常流行。所以,這裡要介紹的第一個庫是 TensorFlow。
  • python機器學習:常用庫的介紹及安裝
    1、為了學習方便,建議大家安裝Anaconda(由於平臺不讓給出網站連結,所以具體連結直接百度搜一下就可以得到),為什麼建議使用這個軟體呢,因為安裝了這個軟體後本身就自帶了IPython、Numpy、pandas,scikit-learn等庫,不用你去在一步一步的去安裝其他的庫;並且該軟體兼容性不錯,可以在Mac OS, windows和linux上運行,一勞永逸,非常方便。
  • 2020年百度沸點年度流行語出爐,現在用還來得及
    2020年即將結束,在最後的12月份百度沸點也公布於眾,那麼2020年流行語是哪些呢?現在用還來得及!看看哪些詞語是你玩過的,哪些熱點詞語是你不知道的呢?每個詞還有出處注釋哦!2020百度沸點年度流行語榜單正式出爐:集美、一起爬山嗎、u1s1、九漏魚、爺青回、上海名媛、打工人、突擊式盡孝、七夕蛤蟆、深藏 blue 成為今年網民搜索熱度最高的十大流行語。
  • Python開發者必知的 11 個 Python GUI 庫,你用過幾個?
    Python開發者必知的 11 個 Python GUI 庫,你用過幾個? 當你使用python編寫應用程式時,你就一定要使用GUI。Python GUI的選擇有很多。目前來說,Python GUI程序庫有30多個跨平臺框架。現在就列出其我認為最好的11個.
  • 這幾個常用的python庫你需要知道
    python可以說是近幾年最火熱、最實用的、最容易上手的工具之一了。功能強大、應用廣泛,可以幫你搜集工作數據,還能幫你下載音樂,電影,於是就掀起了一波學習python的大潮,小編也毫不猶豫的加入了。但是對於向小編一樣的小白來說,剛開始學習還是有些困難的,需要首先了解python的一些基礎知識。所以小編就整理了一些常用的python庫,希望對正在學習python的小夥伴有所幫助。1.MatplotlibMatplotlib是一個用於創建二維圖和圖形的底層庫。
  • 2020綜藝歌曲酷狗年中盤點出爐
    那麼,2020年上半年爆款綜藝單曲有哪些,哪部分群體最愛聽,綜藝歌曲最多收聽城市是哪些,哪個綜藝節目生產優質音樂的能力最強?近日,《2020綜藝歌曲酷狗年中盤點》(以下簡稱「盤點」)出爐,以大數據的方式全景描述2020上半年綜藝歌曲生態,並解答了以上大家關注的問題。
  • 學習筆記,從NumPy到Scrapy,學習Python不能錯過這些庫
    在網絡上看到幾位前輩寫了關於python深度學習庫的文章,對於小小白來說,因為我剛開始學python,我得承認自己看完後依然覺得雲裡霧裡的,不知道這些庫到底對我有什麼用處。所以我到網絡上搜集補充關於這些庫的說明內容,感覺在這個整理資料的過程中,對於這些python程序庫了解了更多,以下是我整理的學習筆記。
  • 2020金翼獎榜單出爐,網易教育打造"守正破局·創贏未來"年度盛會
    2020金翼獎榜單出爐,網易教育打造守正破局·創贏未來年度盛會2020年,對教育行業來說是不平凡的一年。為應對疫情,教育部出臺「停課不停學」系列文件,傳統線下教學方式直面變革,在線教育也迎來發展的新契機。新變化為教育提出了新挑戰、新問題,也創造了新趨勢、新機遇。如何於變局中開新局?
  • 2020成都年度鳥出爐 白鷺獲選
    此前,我市發起了2020成都年度鳥評選活動,成都日報錦觀對此進行了報導,引起不少讀者朋友的關注。記者從成都觀鳥會獲悉,經過提名候選和網絡投票兩個環節,2020成都年度鳥今日出爐,獲選鳥種為白鷺。白鷺是鸛形目鷺科白鷺屬鳥類。是成都地區最常見的中型涉禽之一。
  • 2020年度英文熱詞新鮮出爐,新冠疫情相關詞語名列前茅
    世界著名的英語辭典——柯林斯辭典(Collins English Dictionary)率先宣布,「封城」(Lockdown)因為在新冠疫情期間使用率飆升,成為2020年的年度熱詞。發表在柯林斯辭典官網上的博客解釋說,「封城」是2020年我們最害怕的狀態——全國陷入停頓,幾乎所有正常公共生活被暫停。「我們幾乎誰也不見,哪也不去,禁足在家。」博客解釋說,英文中的Lockdown一詞,最初是監獄詞彙的一部分,指囚犯被禁閉在牢房中。
  • 一文總結數據科學家常用的Python庫(下)
    用於建模的Python庫我們已經到達了本文最受期待的部分 - 構建模型!這就是我們大多數人首先進入數據科學領域的原因,不是嗎?讓我們通過這三個Python庫探索模型構建。(https://www.analyticsvidhya.com/blog/2015/01/scikit-learn-python-machine-learning-tool/)/* TensorFlow */TensorFlow由Google開發,是一個流行的深度學習庫,可幫助您構建和培訓不同的模型。它是一個開源的端到端平臺。
  • 數據工程師需要掌握的 18 個 Python 庫
    作者 | 劉早起早起責編 | 屠敏本文對Python中在數據分析中需要掌握的庫進行了整理,一起來看看吧!所以使用 pip install Twisted-18.9.0-cp37-cp37m-win32.whl 來安裝,然後使用pip install scrapy 來安裝scrapy就可以了數據獲取Beautiful SoupBeautiful Soup也是一個從網站爬取數據的庫,他提供一些簡單的、python式的函數用來處理導航、搜索、修改分析樹等功能。
  • Python如何使用pip正確的安裝panda庫
    經過研究了一下午,才發現使用pip安裝panda庫時要先制定路徑,然後才可以安裝,具體如下:1、找到Python應用程式,右鍵屬性,找到它的安裝位置,複製路徑:C:\Users\Administrator\AppData\Local\Programs\Python\Python37\python.exe。
  • 2020年中國大陸出國留學最強中學榜單出爐
    2020年11月24日,宜校重磅發布2020年中國大陸出國留學最強中學榜單!宜校作為專注名校錄取數據分析的國際教育獨立第三方,自2016年起,對國內國際化學校進行客觀排名評估,每年都會發布出國留學最強中學榜單。
  • 2020河北省石家莊市高中排名top10
    2020河北省石家莊市高中最新排名top10: 1、石家莊市第二中學(新華區) 2、河北正定中學(正定縣) 3、石家莊第一中學(長安區) 4、石家莊實驗中學(無極縣)
  • 2020ATP、WTA年度大獎候選名單出爐
    ATP與WTA兩大網球組織在近日公布了2020年度各大獎項的候選人名單,包括年度最佳球員、年度最佳組合、年度進步最快球員、年度最佳新人、年度最佳復出球員等獎項。納達爾2020賽季ATP年度各大獎項提名名單公布,納達爾、米爾曼、施瓦茨曼與蒂姆獲得了埃德伯格體育道德風尚獎的提名,今年僅參加了澳網的瑞士天王費德勒自2002年以來首次無緣該獎項的提名。
  • 2020年百度沸點年度流行語出爐
    2020百度沸點年度流行語榜單正式出爐:集美、一起爬山嗎、u1s1、九漏魚、爺青回、上海名媛、打工人、突擊式盡孝、七夕蛤蟆、深藏blue成為今年網民搜索熱度最高的十大流行語。2020百度沸點完整榜單也將於近期發布。