Python實戰(zhàn)社群
Java實戰(zhàn)社群
開源最前線(ID:OpenSourceTop) 猿妹整編
鏈接:https://tryolabs.com/blog/2020/12/21/top-10-python-libraries-of-2020/
近日,專門提供Python服務(wù)的網(wǎng)站Troy Labs盤點出了2020年發(fā)布的Python庫Top10。一起來看看2020年最強Python庫都有哪些:你可能并不怎么需要寫CLI應(yīng)用程序,但在有些時候還是需要用到,在FastAPI取得巨大成功之后,tiangolo使用同樣的原理開發(fā)了typo,這是一個新的庫,它允許你利用Python 3.6+的類型提示特性來編寫命令行接口。

這樣的設(shè)計除了可以確保你的代碼得到適當(dāng)?shù)奈臋n化,你還可以更快速的得到一個帶有驗證的CLI界面。通過使用類型提示,你可以在編輯器(如VSCode)代碼自動補全,大大提高了你的工作效率。為了增強它的特性,Typer還能配合命令行神器Click使用,這意味著Typer可以充分利用Click的所有優(yōu)點和插件,并根據(jù)自己的需求實現(xiàn)更加復(fù)雜的功能。開源地址:https://github.com/tiangolo/typer誰說終端應(yīng)用程序就一定是單一的黑白色?其實它也可以是彩色的。

你想要在終端添加顏色和樣式么?你想要你的終端可以快速打印復(fù)雜的表么?你想要輕松地顯示漂亮的進度條、Emojis么?以上這些功能通通都可以在Rich中實現(xiàn),看看下面的示例截圖你就懂了:這個庫將終端應(yīng)用程序的體驗提升到了一個全新的水平。開源地址:https://github.com/willmcgugan/rich盡管Rich可以讓你的終端應(yīng)用程序變得很漂亮,但有時這還不夠,你更需要的是一個真正的GUI,Dear PyGui是一個便于使用、功能強大的Python GUI框架。

Dear PyGui使用了在電子游戲中很流行的即時模式范式。這基本上意味著動態(tài)GUI是逐幀獨立繪制的,不需要持久化任何數(shù)據(jù)。這也是Dear PyGui與其他Python GUI框架不同的地方,Dear PyGui的高性能,是你在工程、模擬、游戲或數(shù)據(jù)科學(xué)應(yīng)用程序中經(jīng)常需要用到的。Dear PyGui支持Windows 10 (DirectX 11), Linux (OpenGL 3) and MacOS (Metal)開源地址:https://github.com/hoffstadt/DearPyGui

PrettyErrors是一個精簡Python錯誤信息的工具,PrettyErrors只做一件事,它支持在終端進行彩色輸出,標(biāo)注出文件棧蹤跡。這樣一來,你就不需要掃描整個屏幕來找到異常的部分。開源地址:https://github.com/onelivesleft/PrettyErrors

我們程序員喜歡解決問題和編寫代碼,但有時,我們需要向其他同事解釋復(fù)雜的架構(gòu)設(shè)計,作為項目文檔的一部分。一般情況下,我們會使用GUI工具處理圖表,并將文稿進行可視化處理。但是還有更好的方法。Diagrams可以讓你在沒有任何設(shè)計工具的情況下直接用Python代碼繪制云系統(tǒng)架構(gòu),它的圖標(biāo)對包括括AWS、Azure、GCP在內(nèi)的幾家云服務(wù)提供商來說都很有用。這使得創(chuàng)建箭頭和組變得非常容易,而且只需要幾行代碼就能實現(xiàn)。開源地址:https://github.com/mingrammer/diagrams在機器學(xué)習(xí)項目中做研究和實驗時,總是有無數(shù)的設(shè)置可以嘗試,在重要的應(yīng)用程序中,配置管理可能會變得非常復(fù)雜,如果有一種結(jié)構(gòu)化的方法來處理這些難題就好了。Hydra允許你以一種可組合的方式構(gòu)建配置,并從命令行或配置文件中覆蓋某些部分。下面舉個例子,關(guān)于如何使用Hydra定義一個基本配置,然后用它們運行多個不容的任務(wù):python train_model.py variation=option_a,option_b

開源地址:https://github.com/facebookresearch/hydra每一個能夠提高數(shù)據(jù)科學(xué)團隊生產(chǎn)力的工具都是非常寶貴的。PyTorch Lightning通過將科學(xué)與工程分離的方式來提高效率,它有點像TensorFlow的Keras,在某種意義上,它可以使你的代碼更加簡潔,不過它依然還是PyTorch,你依然可以訪問所有常用的api。

這個庫能夠使DL / ML研究的40多個部分實現(xiàn)自動化,例如GPU訓(xùn)練、分布式GPU(集群)訓(xùn)練、TPU訓(xùn)練等等……開源地址:https://github.com/PyTorchLightning/PyTorch-lightning

Hummingbird是微軟的一項研究成果,它能夠?qū)⒁呀?jīng)訓(xùn)練好的ML模型匯編成張量計算,從而不需要設(shè)計新的模型。還允許用戶使用神經(jīng)網(wǎng)絡(luò)框架(例如PyTorch)來加速傳統(tǒng)的ML模型。它的推理API跟sklearn范例十分相似,都可以重復(fù)使用現(xiàn)有的代碼,但是它是用Hummingbird生成的代碼去實現(xiàn)的。開源地址:https://github.com/microsoft/hummingbird

幾乎每一個數(shù)據(jù)科學(xué)家在他們的職業(yè)生涯中都有過處理高維數(shù)據(jù)的經(jīng)歷。不幸的是,人類的大腦并不能完全憑直覺處理這類數(shù)據(jù),所以我們必須求助于其他技術(shù)。今年早些時候,F(xiàn)acebook發(fā)布了HiPlot,它是用平行圖和其他的圖像方式,幫助AI研究者發(fā)現(xiàn)高維數(shù)據(jù)的相關(guān)性和模型,是一款輕巧的交互式可視化工具。HiPlot是交互式的,可擴展的,因此你可以在Jupyter Notebooks或者它自己的服務(wù)器上使用它。開源地址:https://github.com/facebookresearch/hiplot

隨著Python庫的生態(tài)系統(tǒng)變得越來越復(fù)雜,我們發(fā)現(xiàn)自己編寫的代碼越來越依賴于C擴展和多線程代碼。如何測試性能這就成一個問題,因為CPython內(nèi)置的分析器不能正確地處理多線程和本機代碼。Scalene是一個高性能的CPU內(nèi)存分析器,它能夠正確處理多線程代碼,并區(qū)分運行Python和本機代碼所花費的時間。不需要修改代碼,只需要使用scalene從命令行運行腳本,它就可以為你生成一個文本或HTML報告,顯示代碼每行的CPU和內(nèi)存使用情況。開源地址:https://github.com/emeryberger/scalene
近期精彩內(nèi)容推薦:??
?阿里徹底拆中臺了!
?程序員相親圖鑒
?21 歲理工男開源的這個編輯器火了!
?996 違法???
在看點這里
好文分享給更多人↓↓