【呆鳥譯Py】Awesome Asyncio 中文版

Awesome-Asyncio-CN

Awesome-Asyncio-CN

原文地址:Awesome-asyncio
譯者:陳鍵冬
校譯:呆鳥

Python Asyncio 精選資源列表,囊括了網(wǎng)絡(luò)框架,庫,軟件等資源。

Awesome-asyncioTimo Furrer 發(fā)起并維護(hù)的 Python Asyncio 資源列表。本項目是其中文版,在這里,收集了大量的 Asyncio 的最棒、最新的資源,供大家探索 Python 異步編程世界。

Python 3.4 引入了 Asyncio 模塊作為標(biāo)準(zhǔn)庫,通過協(xié)程、多路 I/O 訪問 Socket 和其他資源來編寫單線程并發(fā)代碼,并在網(wǎng)絡(luò)客戶端與服務(wù)器上運行。Asyncio 內(nèi)置了對異步 I/O 的支持,其編程模型類似于消息循環(huán),從 Asyncio 模塊可以直接獲取 EventLoop 引用,再把需要執(zhí)行的協(xié)程放到 EventLoop 中執(zhí)行,就實現(xiàn)了異步 I/O。Asyncio 是由 Python 之父 Guido 領(lǐng)導(dǎo)的項目,該項目被命名為 Tulip(郁金香)。

Asyncio 并不是新出現(xiàn)的黑科技,一些社區(qū)有名的第三庫如 Twisted、gevent 早就推出了異步編程模型。不過,自從 2016 年 3 月,Python 3.4 推出以后,這兩年來,Asyncio 變得越來越流行,并且特別受到 Python 社區(qū)追捧。

貢獻(xiàn)代碼

歡迎大家為列表貢獻(xiàn)高質(zhì)量的新資源,提交 PR 時請參照以下要求

  • 注明推薦理由

  • 確保項目相對活躍

目錄

Web框架

構(gòu)建 Web 應(yīng)用的庫

  • aiohttp - 支持 Asyncio (PEP-3156) 的 HTTP 客戶端/服務(wù)端網(wǎng)絡(luò)庫。

  • sanic - Python 3.5+ Web 服務(wù)器,主打速度與性能。

  • Quart - 支持 Asyncio 的 Web 微框架,使用與 Flask 相同的 API。

  • Kyoukai - 使用 Asyncio 編寫的 Python3.5+ 完全異步 Web 框架。

  • cirrina - 基于 aiohttp 的異步 Web 框架。

  • autobahn - 支持 Asyncio 與 Twisted 的 WebSocket 及 WAMP,用于客戶端與服務(wù)端。

  • websockets - Python 構(gòu)建的 WebSocket 客戶端/服務(wù)端的庫,致力于簡潔、正確地編寫代碼。

  • Tornado - 高性能 Web 框架以及異步網(wǎng)絡(luò)庫。

  • Japronto! - 基于 uvloop 和 picohttpparse 構(gòu)建的實驗性 HTTP 工具箱。

消息隊列

使用消息隊列執(zhí)行應(yīng)用的庫

  • aioamqp - 使用 Asyncio 異步執(zhí)行 AMQP。

  • aiozmq - 集成了 Asyncio (pep 3156) 的 ZeroMQ。

  • crossbar - Crossbar.io 是提供分布式和微服務(wù)應(yīng)用的網(wǎng)絡(luò)平臺。

數(shù)據(jù)庫驅(qū)動

數(shù)據(jù)庫的驅(qū)動庫

  • asyncpg - 快速訪問 PostgreSQL 數(shù)據(jù)庫客戶端的異步驅(qū)動。

  • asyncpgsa - 提供 Sqlalchemy Core 支持的 Asyncpg。

  • aiopg - 訪問 PostgreSQL 數(shù)據(jù)庫的異步驅(qū)動。

  • aiomysql - 訪問 MySQL 數(shù)據(jù)庫的異步驅(qū)動。

  • aioodbc - 訪問 ODBC 數(shù)據(jù)庫的異步驅(qū)動。

  • motor - 訪問 MongoDB 數(shù)據(jù)庫的異步驅(qū)動。

  • aioredis - aio-libs 提供的異步 Redis 客戶端 (PEP 3156)。

  • asyncio-redis - 訪問 Redis 客戶端 (PEP 3156)的異步驅(qū)動。

  • aiocouchdb - 基于 aiohttp (Asyncio) 構(gòu)建的 CouchDB 客戶端。

  • aioinflux - 基于 aiohttp 構(gòu)建的 InfluxDB 客戶端。

  • aioes - 兼容 elasticsearch 的 Asyncio 驅(qū)動。

  • peewee-async - 基于 peewee 和 aiopg 實現(xiàn)的 ORM。

  • GINO - 基于 SQLAlchemy Core 和 asyncpg 方言的輕量級 Python 異步 ORM。

  • aiocache - 支持多個后端 (Memory、Redis 和 Memcached) 的 Asyncio 緩存管理器。

  • aiomcache - 訪問 Memcached 的 Asyncio(PEP 3156) 驅(qū)動庫。

網(wǎng)絡(luò)

網(wǎng)絡(luò)通訊庫

  • AsyncSSH - 提供執(zhí)行 SSHv2 協(xié)議的異步客戶端/服務(wù)端。

  • asks - 與 requests 接口相似的異步 HTTP 庫。

  • aioftp - 基于 Asyncio 的 ftp 服務(wù)。

  • aiodns - 簡單的 Asyncio DNS 服務(wù)解析器。

  • websockets 構(gòu)建于 Asyncio 之上的異步 websockets 庫。

測試

測試 Asyncio 應(yīng)用程序的庫

  • aiomock - 支持異步的 Python mock 庫。

  • asynctest - 一個增強(qiáng)標(biāo)準(zhǔn) unittest 包的測試庫。

  • pytest-asyncio - 支持 Asyncio 的 Pytest 庫。

  • aioresponses - 一個適用于 aiohttp 的模擬請求庫。

備選事件循環(huán)

備選的 Asyncio 循環(huán)庫

  • uvloop - 基于 libuv 實現(xiàn)的 Asyncio 事件循環(huán)庫。

  • curio - 協(xié)程并發(fā)庫。

  • trio - 人性化的,Pythonic 的異步 IO 庫。

并行

并行異步編程的庫

  • aioprocessing - 結(jié)合 multiprocessing 與 Asyncio 的進(jìn)程庫,支持 Python3.4+。

  • aiomultiprocess - 進(jìn)一步提升異步性能的多進(jìn)程庫。

其他

未歸類的優(yōu)秀 Asnycio 庫

  • aiofiles - 基于 Asyncio,支持文件異步操作。

  • aiodebug - 用于監(jiān)控和測試 Asyncio 程序的微型庫。

  • aiorun - 提供處理通用 Asyncio 樣板,啟動和關(guān)閉事件驅(qū)動的 run 函數(shù)。

  • aiozipkin - 使用 zipkin 的分布式 Asyncio 追蹤測量儀。

  • faust - 純 Python 的流處理庫,用于處理流數(shù)據(jù)和事件。

  • paco - 協(xié)程驅(qū)動的異步編程的工具庫 (Python3.4+)。

文獻(xiàn)

關(guān)于 Asyncio 的文檔、博客等文獻(xiàn)

演講

關(guān)于 Asyncio 的主題演講

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Python資源大全中文版,包括:Web框架、網(wǎng)絡(luò)爬蟲、模板引擎、數(shù)據(jù)庫、數(shù)據(jù)可視化、圖片處理等,由伯樂在線持續(xù)更...
    dxl1236閱讀 4,827評論 2 33
  • 原文鏈接: http://www.itdecent.cn/p/9c6ae64a1bd7 GitHub 上有一個 A...
    李紹俊閱讀 6,181評論 0 91
  • 轉(zhuǎn)一篇駒神的關(guān)于異步編程和Asyncio的文章。這是上篇,共三篇。原文地址:http://aju.space/20...
    SeanCheney閱讀 9,907評論 2 99
  • “每個自信的孩子都是鼓勵出來的,畫的不好沒關(guān)系,哪怕畫得一點都不像,都請給予他們肯定!”這簡單的道理,我們用來鼓勵...
    二亭閱讀 951評論 5 5
  • 設(shè)計重要嗎? 設(shè)計沒有那么重要,這是一直以來一個比較清晰而又道出現(xiàn)實意義的話題。 設(shè)計重要嗎?或許在我看來也沒那么...
    子觴閱讀 924評論 0 0

友情鏈接更多精彩內(nèi)容