2019 年 10 大頂級 Python 支持庫

呆鳥云:“本文已由 Tryolabs 書面授權(quán)翻譯,大家可以安心閱讀,再也不用擔(dān)心版權(quán)問題啦蠢终。對于想轉(zhuǎn)載的朋友,呆鳥也特意申請了轉(zhuǎn)載授權(quán)茴她,轉(zhuǎn)載時附上 Tryolabs 的 LOGO 與原文鏈接即可寻拂,當(dāng)然,呆鳥的信息也要保留一下下丈牢。另外祭钉,這篇文章介紹的東西真是不錯,呆鳥尤其喜歡 Pyodide赡麦,越翻譯越想私藏朴皆,但既然已經(jīng)答應(yīng)了 Tryolabs 的外國友人,只好心中默念三遍‘獨(dú)樂樂不如眾樂樂泛粹,我是分享的小行家’遂铡。”

原文作者:Fabián Torres

原文長鏈:
https://tryolabs.com/blog/2019/12/10/top-10-python-libraries-of-2019/

以下為譯文晶姊。


歡迎回來扒接,這是我們第五次推出年度頂級 Python 支持庫榜單。在這里们衙,我們列出了隱匿于開源世界里的瑰寶钾怔,既可以幫你啟動新的項(xiàng)目,也可以為你現(xiàn)有的項(xiàng)目添光加彩蒙挑。本榜單覆蓋了各個領(lǐng)域宗侦,包括機(jī)器學(xué)習(xí)與非機(jī)器學(xué)習(xí)的支持庫。

希望你能和我們一樣喜歡本年度的頂級支持庫榜單忆蚀,話不多說矾利,題歸正文姑裂!

1. HTTPX

項(xiàng)目網(wǎng)址:
https://www.encode.io/httpx/

經(jīng)常進(jìn)行 API 交互的 Python 忠粉,對 requests 應(yīng)該是運(yùn)用自如了男旗。不過舶斧,對于日趨普及的現(xiàn)代高性能應(yīng)用而言,在用到異步范式時察皇,requests 就顯得有點(diǎn)捉襟見肘了茴厉。

為了解決這一問題,大咖 Tom Christie 和他的小伙伴給大家?guī)砹诵率来惒?HTTP 客戶端 ~ HTTPX什荣。

緊跟 requests 步伐矾缓,HTTPX 在支持 requests 標(biāo)準(zhǔn)功能的同時,還支持 HTTP/2 與 HTTP/1溃睹,以及通過 ASGI 協(xié)議直接調(diào)用 Python 網(wǎng)絡(luò)應(yīng)用而账,此外還有完善的類型注釋。

要執(zhí)行大規(guī)模并發(fā)請求因篇?HTTPX 就是你要找的答案泞辐。

注意:HTTPX 仍在 alpha 版開發(fā)階段,目前只開發(fā)了異步客戶端竞滓,將來還會引入同步客戶端咐吼。

2. Starlette

項(xiàng)目網(wǎng)址:
https://www.starlette.io/

Starlette 打包了 WebSocket、GraphQL商佑、進(jìn)程內(nèi)后臺任務(wù)等多種功能锯茄,是真正高性能的輕量級 ASGI 框架與工具箱。所有功能都完全支持類型注釋代碼庫茶没,且不需要任何硬性依賴項(xiàng)肌幽。可以把它當(dāng)成非常輕量級的現(xiàn)代異步版 Flask抓半。

Starlette 的靈活性很強(qiáng)喂急,既可以用作完整的網(wǎng)絡(luò)框架,也可以只用作 ASGI 工具箱笛求。

Starlette 運(yùn)行在 uvicorn 之上廊移,這個支持庫入選了去年的 10 大頂級 Python 支持庫榜單。

如果想開發(fā)新型網(wǎng)絡(luò)應(yīng)用探入,強(qiáng)烈建議您給 Starlette 一個發(fā)光發(fā)熱的機(jī)會狡孔。

3. FastAPI

項(xiàng)目網(wǎng)址:
https://github.com/tiangolo/fastapi

Starlette 很贊,但它太迷你了蜂嗽,雖然給了開發(fā)者很大的自由苗膝,但有時,用戶要的其實(shí)只是一個能快速完成任務(wù)的框架植旧。

Sebastián Ramírez 就是出于這個目的開發(fā)的 FastAPI荚醒,怎么說呢芋类?這個支持庫的各個方面都很 Fast。

這個用 Python 開發(fā) API 的新框架具有超高性能界阁,而且可以基于 OpenAPI 標(biāo)準(zhǔn)自動生成交互式文檔。默認(rèn)支持 Swagger UI 與 ReDoc胖喳,允許直接從瀏覽器調(diào)用泡躯、測試 API,從而提高開發(fā)效率丽焊。用這個框架開發(fā) API较剃,真的是又快又簡單。

該支持庫還支持現(xiàn)代 Python 最佳實(shí)用功能之一:類型提示技健。FastAPI 在很多方面都使用了類型提示写穴,其中最酷的一個功能是由 Pydantic 加持的自動數(shù)據(jù)驗(yàn)證與轉(zhuǎn)換。

FastAPI 基于 Starlette 開發(fā)雌贱,性能與 NodeJS 和 GO 相當(dāng)啊送,還自帶 WebSocket 與 GraphQL 原生支持。

最后欣孤,對于開源支持庫而言馋没,它的技術(shù)支持文檔也非常不錯。說真的降传,去看一下吧篷朵!

4. Immutables

項(xiàng)目網(wǎng)址:
https://github.com/magicstack/immutables

MagicStack 的兄弟回歸了,這次他們帶來的是一個簡單婆排、優(yōu)雅的不可變映射類型(“凍結(jié)字典”)声旺。

這東西的好處在哪兒?呃段只,希望你能聽得懂下面這句話腮猖,Haskell 等函數(shù)編程語言里使用的哈希數(shù)組映射字典樹(HAMT)的底層數(shù)據(jù)結(jié)構(gòu)。最值得注意的是翼悴,不管 set() 還是 get() 操作的性能都為 O(log N)缚够,且對于相對較小的映射,可以達(dá)到 O(1)鹦赎。

如果你的應(yīng)用里字典的規(guī)模較大谍椅,并且想提高一下性能,這個酷酷的新支持庫值得一試古话。

5. Pyodide

項(xiàng)目網(wǎng)址:
https://github.com/iodide-project/pyodide/

Pyodide 是本榜單里最刷三觀的項(xiàng)目雏吭。通過 WebAssembly,它把 Python 科學(xué)引入到了瀏覽器界面陪踩,把科學(xué)計(jì)算提升到了全新的層面杖们。

想用 Numpy 搞定一些數(shù)字悉抵?用 Pandas 處理大型 DataFrame?用 Matplotlib 為計(jì)算結(jié)果進(jìn)行可視化摘完?有了 Pyodide姥饰,這些操作在瀏覽器里就可以輕輕松松地實(shí)現(xiàn)了。

這還不算完孝治,還有好消息:這個庫可用的 Python 支持庫已經(jīng)超過了 35 個列粪。您這是要上天啊。

6. Modin

項(xiàng)目網(wǎng)址:https://github.com/modin-project/modin

Modin 的口號是“只改一行代碼谈飒,就能加速 Pandas”岂座,沒錯,就是這么簡單杭措。只要安裝 Modin费什,更改 import 語句,在多核筆記本上手素,處理數(shù)據(jù)的速度就能提高 4 倍鸳址。

我滴個神 ~~ 這是怎么做到的?Modin 有自帶的 modin.pandas.DataFrame 對象刑桑,這是一個輕量級的并行 DataFrame 對象氯质。因?yàn)榕c Pandas API 兼容,使用這個對象就跟是透明的一樣祠斧,在后臺闻察,該支持庫使用 RayDask 作為計(jì)算引擎,執(zhí)行分布式數(shù)據(jù)計(jì)算琢锋。

有的時候辕漂,獲得更快的速度就是那么簡單,改一兩行代碼就可以了吴超,Modin 就是證明钉嘹。

7. Streamlit

項(xiàng)目網(wǎng)址:
https://github.com/streamlit/streamlit

不論機(jī)器學(xué)習(xí)項(xiàng)目多么的超凡脫俗,都免不了要手動與模型和數(shù)據(jù)交互的工作鲸阻。

與其投入無數(shù)小時跋涣,開發(fā)數(shù)千行代碼的應(yīng)用,Streamlit 讓你可以快速搭建用來分享模型與分析的 APP鸟悴。構(gòu)建交互式 UI陈辱、實(shí)現(xiàn)數(shù)據(jù)可視化、輸出分析模型現(xiàn)在就是小菜一碟细诸。

有了 Streamlit沛贪,只要添加幾行代碼,嗖的一下,就能從 Python 腳本代碼飛升為產(chǎn)品級 APP利赋。TensorFlow水评、Keras、PyTorch媚送、Pandas中燥,只要是你能想到的數(shù)據(jù)科學(xué)工具,Streamlit 都已經(jīng)支持了季希。

8. Transformers

項(xiàng)目網(wǎng)址:
https://github.com/huggingface/transformers

從事機(jī)器學(xué)習(xí)相關(guān)工作的讀者褪那,一定會對過去的一年中自然語言處理(NLP)領(lǐng)域里的重大突破有所耳聞。

BERT式塌、XLNet、roBERTa 等新涌現(xiàn)出來的高性能模型已經(jīng)取得了長足的發(fā)展友浸,尤其是在文本分類峰尝、機(jī)器翻譯、命名實(shí)體識別等眾多 NLP 領(lǐng)域里的高精尖突破層出不窮收恢,讓人眼花繚亂武学。

對業(yè)界人士來說,找到一款既能在產(chǎn)品級程序上利用這些模型伦意,又不會太過復(fù)雜的工具火窒,尤為重要。對研究者而言驮肉,一個既不用花費(fèi)太多時間編寫模板代碼熏矿,又能調(diào)校支持庫內(nèi)核,不斷開發(fā)离钝、實(shí)驗(yàn)新模型的支持庫票编,也非常重要。

Hugging Face 的小伙伴給我們帶來了變形金剛(Transformers)卵渴,這個支持庫支持最現(xiàn)代的 NLP 模型打包慧域、預(yù)訓(xùn)練等功能,而且還開箱即用浪读。TensorFlow 2.0 與 PyTorch 之間的互操作昔榴,讓該支持庫達(dá)到了業(yè)界標(biāo)準(zhǔn),完全可以為研究工作與產(chǎn)品級應(yīng)用程序加持碘橘。該支持庫由研究人員開發(fā)互订,因此,它的更新速度非秤加欤快屁奏,而且還在不斷引入新式模型。

錦上添花:Hugging Face 團(tuán)隊(duì)開發(fā)了 DistilBERT错负,這是基于 BERT 提煉出來的坟瓢,更小勇边、更快、更省錢折联、更輕量的版本粒褒。

還在猶豫要不要用 Hugging Face 的變形金剛處理現(xiàn)代 NLP 任務(wù)?看到這篇文章就是緣分诚镰,快來試下這個在線演示奕坟,感受變形金剛的魔力吧。

9. Detectron2

項(xiàng)目網(wǎng)址:
https://github.com/facebookresearch/detectron2

Facebook AI 研究團(tuán)隊(duì)(FAIR)在開發(fā)對象探知清笨、姿態(tài)估測月杉、語義/實(shí)例分隔、全景分割等模型的同時抠艾,不斷將計(jì)算機(jī)視覺(CV)推向新的高度苛萎。

就在短短的幾年前,上述這些技術(shù)就像是科幻小說检号。我們從未對 FAIR 有過什么期望腌歉,但這回他們再一次震撼全場。

Detectron2 是 Detectron 的延續(xù)齐苛,該支持庫建立在 PyTorch 之上翘盖,整合了多種高精尖的計(jì)算機(jī)視覺算法。

鑒于支持用例類型多種多樣凹蜂,這類支持庫的開發(fā)難度特別大馍驯。與 Hugging Face 的 Transformers 類似,F(xiàn)AIR 團(tuán)隊(duì)的 Detectron2 真的很強(qiáng)大炊甲,其延展性與模塊化的設(shè)計(jì)風(fēng)格泥彤,讓它在計(jì)算機(jī)視覺研究應(yīng)用中獨(dú)領(lǐng)風(fēng)騷。同時卿啡,Detectron2 的應(yīng)用極其簡單吟吝,非常適合那些只想快速得到結(jié)果,不想了解核心算法的人颈娜。沒錯剑逃,只要幾行 Python 代碼,就可以通過 Detectron2 讓你開發(fā)的軟件“理解”圖片官辽。

Detectron2 能否形成生機(jī)勃勃的社區(qū)蛹磺,還需要些時間來驗(yàn)證,但到目前為止同仆,它的前途還是蠻光明的萤捆。很多研究人員都在為 Detectron2 研發(fā)更新、更快、更好的模型俗或,因此市怎,它成為計(jì)算機(jī)視覺應(yīng)用“首選”解決方案的可能性很大。如果你從事計(jì)算機(jī)視覺工作辛慰,一定要對這個支持庫保持密切的關(guān)注区匠!

10. Metaflow

項(xiàng)目網(wǎng)址:
https://docs.metaflow.org/introduction/what-is-metaflow

Metaflow 這個支持庫實(shí)在太新了,差點(diǎn)就沒趕上 2019 年榜單評選帅腌!但不要因此就小瞧它:別看它 12 月 3 日才正式發(fā)布驰弄,其實(shí)它是 Netfilx 兩年精雕細(xì)琢的成果,通過了長期內(nèi)部實(shí)測速客,Netflix 才決定開源戚篙。

Metaflow 這個 Python 支持庫能幫助數(shù)據(jù)科學(xué)家與數(shù)據(jù)工程師開發(fā)在現(xiàn)實(shí)世界中應(yīng)用的實(shí)戰(zhàn)項(xiàng)目。它的目標(biāo)是溺职,減輕非技術(shù)型數(shù)據(jù)科學(xué)家學(xué)習(xí)技術(shù)的負(fù)擔(dān)已球,比如,如何利用計(jì)算資源辅愿、怎么實(shí)現(xiàn)并行運(yùn)算、架構(gòu)設(shè)計(jì)忆某、版本控制等点待。Netflix 與 AWS 合作,讓用戶通過開箱即用的分布式計(jì)算即可輕松定義復(fù)雜數(shù)據(jù)流弃舒。

我們在 Tryolabs 內(nèi)部已經(jīng)評測了幾個 Metaflow 核心項(xiàng)目癞埠。如果你也對這個工具感興趣,請參閱 Netflix 博客的發(fā)布貼聋呢。

結(jié)論

這一年苗踪,或者說又一個10 年馬上就要過去了,開源社區(qū)這些年的對世界的貢獻(xiàn)將對今后幾年產(chǎn)生深遠(yuǎn)的影響削锰。想要了解這些年的優(yōu)秀開源庫通铲,就來看下我們這幾年的榜單吧:20152016器贩、2017颅夺、2018

本文由 Elías Masquil, Alan Descoins and Germán Hoffman 合作編撰蛹稍。

Pandas 百問百答

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末吧黄,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子唆姐,更是在濱河造成了極大的恐慌拗慨,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異赵抢,居然都是意外死亡剧蹂,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門昌讲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來国夜,“玉大人,你說我怎么就攤上這事短绸〕荡担” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵醋闭,是天一觀的道長窄驹。 經(jīng)常有香客問我,道長证逻,這世上最難降的妖魔是什么乐埠? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮囚企,結(jié)果婚禮上丈咐,老公的妹妹穿的比我還像新娘。我一直安慰自己龙宏,他們只是感情好捏肢,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布重斑。 她就那樣靜靜地躺著沸停,像睡著了一般良狈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上黍特,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天蛙讥,我揣著相機(jī)與錄音,去河邊找鬼灭衷。 笑死次慢,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的今布。 我是一名探鬼主播经备,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼部默!你這毒婦竟也來了侵蒙?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤傅蹂,失蹤者是張志新(化名)和其女友劉穎纷闺,沒想到半個月后算凿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡犁功,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年氓轰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浸卦。...
    茶點(diǎn)故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡署鸡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出限嫌,到底是詐尸還是另有隱情靴庆,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布怒医,位于F島的核電站炉抒,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏稚叹。R本人自食惡果不足惜焰薄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望扒袖。 院中可真熱鬧塞茅,春花似錦、人聲如沸季率。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蚀同。三九已至,卻和暖如春啊掏,著一層夾襖步出監(jiān)牢的瞬間蠢络,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工迟蜜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留刹孔,地道東北人。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓娜睛,卻偏偏與公主長得像髓霞,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子畦戒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評論 2 345