【呆鳥譯Py】Awesome Asyncio 中文版
Awesome-Asyncio-CN
原文地址:Awesome-asyncio
譯者:陳鍵冬
校譯:呆鳥
Python Asyncio 精選資源列表,囊括了網路框架,庫,軟體等資源。
Awesome-asyncio 是 Timo Furrer 發起並維護的 Python Asyncio 資源列表。本專案是其中文版,在這裡,收集了大量的 Asyncio 的最棒、最新的資源,供大家探索 Python 非同步程式設計世界。
Python 3.4 引入了 Asyncio 模組作為標準庫,通過協程、多路 I/O 訪問 Socket 和其他資源來編寫單執行緒併發程式碼,並在網路客戶端與伺服器上執行。Asyncio 內建了對非同步 I/O 的支援,其程式設計模型類似於訊息迴圈,從 Asyncio 模組可以直接獲取 EventLoop 引用,再把需要執行的協程放到 EventLoop 中執行,就實現了非同步 I/O。Asyncio 是由 Python 之父 Guido 領導的專案,該專案被命名為 Tulip(鬱金香)。
Asyncio 並不是新出現的黑科技,一些社群有名的第三庫如 Twisted、gevent 早就推出了非同步程式設計模型。不過,自從 2016 年 3 月,Python 3.4 推出以後,這兩年來,Asyncio 變得越來越流行,並且特別受到 Python 社群追捧。
貢獻程式碼
歡迎大家為列表貢獻高質量的新資源,提交 PR 時請參照以下要求
註明推薦理由
確保專案相對活躍
目錄
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 工具箱。
訊息佇列
使用訊息佇列執行應用的庫
aioamqp - 使用 Asyncio 非同步執行 AMQP。
aiozmq - 整合了 Asyncio (pep 3156) 的 ZeroMQ。
crossbar - Crossbar.io 是提供分散式和微服務應用的網路平臺。
資料庫驅動
資料庫的驅動庫
asyncpg - 快速訪問 PostgreSQL 資料庫客戶端的非同步驅動。
asyncpgsa - 提供 Sqlalchemy Core 支援的 Asyncpg。
aiopg - 訪問 PostgreSQL 資料庫的非同步驅動。
aiomysql - 訪問 MySQL 資料庫的非同步驅動。
aioodbc - 訪問 ODBC 資料庫的非同步驅動。
motor - 訪問 MongoDB 資料庫的非同步驅動。
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。
aiocache - 支援多個後端 (Memory、Redis 和 Memcached) 的 Asyncio 快取管理器。
aiomcache - 訪問 Memcached 的 Asyncio(PEP 3156) 驅動庫。
網路
網路通訊庫
AsyncSSH - 提供執行 SSHv2 協議的非同步客戶端/服務端。
aioftp - 基於 Asyncio 的 ftp 服務。
aiodns - 簡單的 Asyncio DNS 服務解析器。
websockets 構建於 Asyncio 之上的非同步 websockets 庫。
測試
測試 Asyncio 應用程式的庫
aiomock - 支援非同步的 Python mock 庫。
asynctest - 一個增強標準 unittest 包的測試庫。
pytest-asyncio - 支援 Asyncio 的 Pytest 庫。
aioresponses - 一個適用於 aiohttp 的模擬請求庫。
備選事件迴圈
備選的 Asyncio 迴圈庫
並行
並行非同步程式設計的庫
aioprocessing - 結合 multiprocessing 與 Asyncio 的程式庫,支援 Python3.4+。
aiomultiprocess - 進一步提升非同步效能的多程式庫。
其他
未歸類的優秀 Asnycio 庫
aiofiles - 基於 Asyncio,支援檔案非同步操作。
aiodebug - 用於監控和測試 Asyncio 程式的微型庫。
aiorun - 提供處理通用 Asyncio 樣板,啟動和關閉事件驅動的
run
函式。aiozipkin - 使用 zipkin 的分散式 Asyncio 追蹤測量儀。
faust - 純 Python 的流處理庫,用於處理流資料和事件。
paco - 協程驅動的非同步程式設計的工具庫 (Python3.4+)。
文獻
關於 Asyncio 的文件、部落格等文獻
Asyncio 官方文件 - 介紹了非同步 I/O、事件迴圈、協程及任務等內容。
Asyncio 精編簡介 - 生成器,協程,原生協程及 async/await。
非同步窺探 - 非常好的一篇文章,列出了哪些用例應該使用 Asyncio ,哪些用例無需使用 Asyncio。
非同步 Python - 介紹如何進行 Python 非同步程式設計。
用 Asyncio 進行 Python 開發 - 介紹非同步程式設計的開發,從簡單示例說起,一直到 URL 爬取。
Python Aiohttp 的測試極限 - 使用 Python Aiohttp 進行百萬量級的併發測試。
演講
關於 Asyncio 的主題演講
Topics of Interest (Python Asyncio) - David Beazley 的主題演講。
Python Asynchronous I/O Walkthrough - Philip Guo 的主題演講。
Thinking Outside the GIL with AsyncIO and Multiprocessing - John Reese 的主題演講
Asynchronous Python for the Complete Beginner - Miguel Grinberg 的主題演講
相關文章
- 【譯Py】Awesome Asyncio 中文版
- Redis-py官方文件翻譯Redis
- [譯] 漫畫圖解 JavaScript 引擎: let jsCartoons = ‘Awesome’;圖解JavaScriptJS
- 防呆設計/防呆處理
- awesome rustRust
- Awesome GoGo
- MySQL Fabric is awesomeMySql
- 再次理解asyncio/await syntax and asyncio in PythonAIPython
- asyncio的基本使用框架,python高效處理資料,asyncio.gather(),asyncio. create_task(),asyncio.run(main())框架PythonAI
- Python下編譯py成pyc和pyoPython編譯
- vue-awesome-swiperVue
- awesome-ai-agentsAI
- 【翻譯】AwesomeAsyncio中文版
- 編譯Thelittlebookofredis中文版編譯Redis
- 別讓使用者發呆—設計中的防呆策略
- 【Python】asyncio框架Python框架
- asyncio(非同步io)非同步
- 協程asyncio 模組
- Bigfile ---- awesome-goGo
- Font Awesome 使用指南
- NeurIPS 2019丨是呆頭伯勞鳥還是南灰伯勞鳥?深度雙線性轉換幫AI準確區分AI
- 【譯Py】資料科學麵試終極指南(七)資料科學
- 【譯Py】資料科學麵試終極指南(五)資料科學
- 【譯Py】資料科學麵試終極指南(一)資料科學
- Python將py檔案編譯為exe的方法Python編譯
- 【譯Py】資料科學麵試終極指南(二)資料科學
- Awesome Gitea 專案上線 https://gitea.com/gitea/awesome-giteaGitHTTP
- Python asyncio 爬蟲Python爬蟲
- Python協程之asyncioPython
- vue-awesome-swiper 小案例Vue
- awesome-java-leetcodeJavaLeetCode
- Laravel 5.7 中引入 font-awesomeLaravel
- 如何在Vue中使用Font Awesome?Vue
- 新的玩具:Windows上的AwesomeWindows
- asyncio 非同步程式設計非同步程式設計
- Asyncio in Python and Concurrency tasksPython
- 《The Swift Programming Language》中文版翻譯完成Swift
- python3 將目錄下py檔案編譯為 pycPython編譯