搜尋
首頁後端開發Python教學總結2020年最強Python庫

總結2020年最強Python庫

Jan 05, 2021 am 10:06 AM
linuxpython後端程式設計師運維

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

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

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

總結2020年最強Python庫

#推薦(免費):Python教學(影片)

1、Typer

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

總結2020年最強Python庫

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

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

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

開源位址:
https://github.com/tiangolo/t...

2、Rich

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

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

總結2020年最強Python庫

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

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

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

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

開源位址:
https://github.com/willmcguga...

#3、Dear PyGui

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

總結2020年最強Python庫

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

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

總結2020年最強Python庫

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

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

開源位址:
https://github.com/hoffstadt/...

4、PrettyErrors

PrettyErrors是個精簡Python錯誤訊息的工具,特色是介面十分簡潔友善。

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

總結2020年最強Python庫

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

總結2020年最強Python庫

#開源位址:
https://github.com/onelivesle...

5、Diagrams

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

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

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

只要幾行程式碼,就可以簡單地創造出箭頭符號和結構圖。

總結2020年最強Python庫

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

開源位址:
https://github.com/mingrammer...

6、Hydra and OmegaConf

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

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

總結2020年最強Python庫

Hydra相容性強,擁有包含插件的結構,能夠很好地與開發者的操作檔案融合。它的插件還可以實現直接通過命令列,就把程式碼發佈到AWS或其他雲端系統。

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

開源位址:
https://github.com/facebookre...
https://github.com/omry/omega...

7.PyTorch Lightning

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

總結2020年最強Python庫

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

Lightning能夠讓DL / ML研究的40多個部分自動化,例如GPU訓練、分散式GPU(叢集)訓練、TPU訓練等等…

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

開源位址:
https://github.com/PyTorchLig...

8、Hummingbird

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

也讓使用者可以使用神經網路框架(例如PyTorch)來加速傳統的ML模型。

總結2020年最強Python庫

它的推理API跟sklearn範例十分相似,都可以重複使用現有的程式碼,但是它是用Hummingbird產生的程式碼去實現的。

Hummingbird也在Sklearn API之後提供了一個方便的統一推理API。這樣就可以將Sklearn模型與Hummingbird產生的模型互換,而無需更改推理程式碼。

它之所以被重點關注,也因為它能夠支援多種多樣的模型和格式。

到目前為止,Hummingbird支援PyTorch、TorchScript、ONNX和TVM等各種ML模型。

開源位址:
https://github.com/microsoft/...

#9、HiPlot

##因為ML模型變得越來越複雜,還有很多超參數,於是就需要用到HiPlot。 HiPlot是今年3月Facebook發行的一個函式庫,主要用於處理高維度資料。

Facebook AI透過數十個超參數和10萬多個實驗,利用HiPlot,來分析深度神經網路。

它是用平行圖和其他的圖像方式,幫助AI研究者發現高維度資料的相關性和模型,是一款輕​​巧的互動式視覺化工具。

總結2020年最強Python庫

HiPlot與其他視覺化工具相比,有其特有的優點:

首先,它的互動性強,因為平行圖是互動的,所以能夠滿足多種情況下的影像視覺化。

其次,它簡單易用,可以透過IPython Notebook或透過帶有「 hiplot」指令的服務直接使用。

它還有具有可擴充性。預設情況下,HiPlot的Web服務可以解析CSV或JSON文件,也可以為其提供自訂Python解析器,將實驗轉換為HiPlot實驗。

開源位址:

https://github.com/facebookre...
參考連結:
https://ai.facebook.com/blog/...

10、Scalene

Scalene是一個用於Python腳本的CPU和記憶體分析器,能夠正確處理多執行緒程式碼,還能區分Python程式碼和本機程式碼的運行時間。

你不需要修改程式碼,只要執行Scalene腳本,它就會產生一個文字形式的報告,顯示出每一行程式碼的CPU和記憶體的使用情況。透過這個文本報告,開發人員可以提高程式碼的效率。

總結2020年最強Python庫

Scalene的速度快、準確率高,也能夠對高耗能的程式碼行進行標註。

開源位址
https://github.com/emeryberge...

除了以上10個,還有多個高效能的Python庫被點名了,例如Norfair、 Quart、Alibi-detect、Einops…等等,詳情查看底部連結。

那麼,你今年有發現好用的Python庫嗎?

如果有的話,請在留言區一起分享一下~

以上是總結2020年最強Python庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:segmentfault。如有侵權,請聯絡admin@php.cn刪除
Python vs.C:申請和用例Python vs.C:申請和用例Apr 12, 2025 am 12:01 AM

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

2小時的Python計劃:一種現實的方法2小時的Python計劃:一種現實的方法Apr 11, 2025 am 12:04 AM

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python:探索其主要應用程序Python:探索其主要應用程序Apr 10, 2025 am 09:41 AM

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

您可以在2小時內學到多少python?您可以在2小時內學到多少python?Apr 09, 2025 pm 04:33 PM

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內通過項目和問題驅動的方式教計算機小白編程基礎?如何在10小時內通過項目和問題驅動的方式教計算機小白編程基礎?Apr 02, 2025 am 07:18 AM

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

如何在使用 Fiddler Everywhere 進行中間人讀取時避免被瀏覽器檢測到?如何在使用 Fiddler Everywhere 進行中間人讀取時避免被瀏覽器檢測到?Apr 02, 2025 am 07:15 AM

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

Python 3.6加載Pickle文件報錯"__builtin__"模塊未找到怎麼辦?Python 3.6加載Pickle文件報錯"__builtin__"模塊未找到怎麼辦?Apr 02, 2025 am 07:12 AM

Python3.6環境下加載Pickle文件報錯:ModuleNotFoundError:Nomodulenamed...

如何提高jieba分詞在景區評論分析中的準確性?如何提高jieba分詞在景區評論分析中的準確性?Apr 02, 2025 am 07:09 AM

如何解決jieba分詞在景區評論分析中的問題?當我們在進行景區評論分析時,往往會使用jieba分詞工具來處理文�...

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境