【譯Py】Awesome Asyncio 中文版

Awesome

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

Python Asyncio 精選資源列表,囊括了網絡框架,庫,軟件等資源。html

Awesome-asyncioTimo Furrer 發起並維護的 Python Asyncio 資源列表。本項目是其中文版,在這裏,收集了大量的 Asyncio 的最棒、最新的資源,供你們探索 Python 異步編程世界。python

Python 3.4 引入了 Asyncio 模塊做爲標準庫,經過協程、多路 I/O 訪問 Socket 和其餘資源來編寫單線程併發代碼,並在網絡客戶端與服務器上運行。Asyncio 內置了對異步 I/O 的支持,其編程模型相似於消息循環,從 Asyncio 模塊能夠直接獲取 EventLoop 引用,再把須要執行的協程放到 EventLoop 中執行,就實現了異步 I/O。Asyncio 是由 Python 之父 Guido 領導的項目,該項目被命名爲 Tulip(鬱金香)。mysql

Asyncio 並非新出現的黑科技,一些社區有名的第三庫如 Twisted、gevent 早就推出了異步編程模型。不過,自從 2016 年 3 月,Python 3.4 推出之後,這兩年來,Asyncio 變得愈來愈流行,而且特別受到 Python 社區追捧。git

貢獻代碼

歡迎你們爲列表貢獻高質量的新資源,提交 PR 時請參照如下要求github

  • 註明推薦理由
  • 確保項目相對活躍

目錄

Web 框架

構建 Web 應用的庫web

  • aiohttp - 支持 Asyncio (PEP-3156) 的 HTTP 客戶端/服務端網絡庫。
  • sanic - Python 3.5+ Web 服務器,主打速度與性能。
  • Quart - 支持 Asyncio 的 Web 微框架,使用與 Flask 相同的 API。
  • Kyoukai - 使用 Asyncio 編寫的 Python3.5+ 徹底異步 Web 框架。
  • cirrina - 基於 aiohttp 的異步 Web 框架。
  • autobahn - 支持 Asyncio 與 Twisted 的 WebSocket 及 WAMP,用於客戶端與服務端。
  • websockets - Python 構建的 WebSocket 客戶端/服務端的庫,致力於簡潔、正確地編寫代碼。
  • Tornado - 高性能 Web 框架以及異步網絡庫。
  • Japronto! - 基於 uvloop 和 picohttpparse 構建的實驗性 HTTP 工具箱。

消息隊列

使用消息隊列執行應用的庫redis

  • aioamqp - 使用 Asyncio 異步執行 AMQP。
  • aiozmq - 集成了 Asyncio (pep 3156) 的 ZeroMQ。
  • crossbar - Crossbar.io 是提供分佈式和微服務應用的網絡平臺。

數據庫驅動

數據庫的驅動庫sql

  • asyncpg - 快速訪問 PostgreSQL 數據庫客戶端的異步驅動。
  • asyncpgsa - 提供 Sqlalchemy Core 支持的 Asyncpg。
  • aiopg - 訪問 PostgreSQL 數據庫的異步驅動。
  • aiomysql - 訪問 MySQL 數據庫的異步驅動。
  • aioodbc - 訪問 ODBC 數據庫的異步驅動。
  • motor - 訪問 MongoDB 數據庫的異步驅動。
  • aioredis - aio-libs 提供的異步 Redis 客戶端 (PEP 3156)。
  • asyncio-redis - 訪問 Redis 客戶端 (PEP 3156)的異步驅動。
  • aiocouchdb - 基於 aiohttp (Asyncio) 構建的 CouchDB 客戶端。
  • aioinflux - 基於 aiohttp 構建的 InfluxDB 客戶端。
  • aioes - 兼容 elasticsearch 的 Asyncio 驅動。
  • peewee-async - 基於 peewee 和 aiopg 實現的 ORM。
  • GINO - 基於 SQLAlchemy Core 和 asyncpg 方言的輕量級 Python 異步 ORM。

網絡

網絡通信庫mongodb

  • AsyncSSH - 提供執行 SSHv2 協議的異步客戶端/服務端。

測試

測試 Asyncio 應用程序的庫

  • aiomock - 支持異步的 Python mock 庫。
  • asynctest - 一個加強標準 unittest 包的測試庫。
  • pytest-asyncio - 支持 Asyncio 的 Pytest 庫。

備選事件循環

備選的 Asyncio 循環庫

  • uvloop - 基於 libuv 實現的 Asyncio 事件循環庫。
  • curio - 協程併發庫。

其餘

暫未歸類的超讚 Asnycio 庫

  • aiofiles - 基於 Asyncio,支持文件異步操做。
  • aiodebug - 用於監控和測試 Asyncio 程序的微型庫。
  • aiorun - 提供處理通用 Asyncio 樣板,啓動和關閉事件驅動的 run 函數。
  • aiozipkin - 使用 zipkin 的分佈式 Asyncio 追蹤測量儀。

文獻

關於 Asyncio 的文檔、博客等文獻

演講

關於 Asyncio 的主題演講

相關文章
相關標籤/搜索