素晴らしいアシンシオ
素晴らしいPython Asyncioフレームワーク、ライブラリ、ソフトウェア、リソースの慎重にキュレーションされたリスト。
Python 3.4を備えた標準ライブラリに導入されたPython Asyncioモジュールは、コルーチンを使用してシングルスレッドの同時コードを作成するためのインフラストラクチャを提供します。
Asyncioは実際には真新しいテクノロジーではありませんが、特にPythonコミュニティで、2014年3月にPython 3.4のリリースにより、数年以来非常にトレンドであるように見えます。したがって、最新の状態に保つのはかなり難しいです最も素晴らしいパッケージがあります。これらの素晴らしいパッケージのいくつかをここで見つけてください。あなたが不足している場合は、あなたの提案で問題やプル要求を作成することを期待しています。
コンテンツ
- Webフレームワーク
- メッセージキュー
- データベースドライバー
- ネットワーキング
- graphql
- テスト
- 代替ループ
- その他
- 文章
- 話し合い
- Asyncioの代替
Webフレームワーク
Webアプリケーションを構築するライブラリ。
- FASTAPI-タイプのヒントに基づく非常に高性能Python 3.6+ APIフレームワーク。 StarletteとPydanticを搭載。
- Django-巨大なコミュニティとエコシステムを備えた、確立された高レベルのPython Webフレームワーク。
- Starlette-高性能サービスを構築するための軽量ASGIフレームワーク/ツールキット。
- aiohttp -asyncioのhttpクライアント/サーバー(PEP -3156)。
- Sanic -Python 3.5+ Webサーバーは、速くなるように書かれています。
- Quart -Flaskと同じAPIを備えたAsyncio Web MicroFramework。
- Autobahn-クライアントとサーバー向けのAsyncioとTwistedをサポートするWebSocketとWamp。
- WebSockets-正確性とシンプルさに焦点を当てたPythonにWebSocketサーバーとクライアントを構築するためのライブラリ。
- Tornado-パフォーマンスのWebフレームワークと非同期ネットワーキングライブラリ。
- uvicorn -lightning -fast asgiサーバー。
メッセージキュー
メッセージキューを使用してアプリケーションを実装するライブラリ。
- AIOAMQP -Asyncioを使用したAMQP実装。
- Pyzmq -ZeromqのPython Bindings。
- AIOZMQ- Zeromqとの代替のアシンシオ統合。
- Crossbar -CrossBar.ioは、分散型およびマイクロサービスアプリケーションのネットワークプラットフォームです。
- Asyncio -Nats- NATSメッセージングシステムのクライアント。
- Aiokafka- Apache Kafkaのクライアント。
データベースドライバー
データベースに接続するライブラリ。
- asyncpg -Python/asyncioの高速PostgreSQLデータベースクライアントライブラリ。
- asyncpgsa -sqlalchemyコアサポートを備えたasyncpg。
- aiopg -postgreSQLデータベースにアクセスするためのライブラリ。
- AIOMYSQL-MySQLデータベースにアクセスするためのライブラリ
- AIOODBC- ODBCデータベースにアクセスするためのライブラリ。
- モーター-MongodbのAsync Pythonドライバー。
- Redis -Py -Redis Pythonクライアント(Aioreadisを含む)。
- aiocouchdb -aiohttp(asyncio)の上に構築されたcouchdbクライアント。
- AIOINFLUX -AIOHTTPの上に構築されたInfluxDBクライアント。
- aioes- erasticsearchの非順序互換ドライバー。
- Peewee -Async -ORM Peeweeとaiopgに基づくORMの実装。
- ジーノ - asyncpg方言を備えたSqlalchemyコアに基づく軽量の非同期Python ormです。
- Tortoise Orm- DjangoのようなAPIとEasy Relations Managementを備えたネイティブマルチバックエンドORM。
- データベース-SQLAlchemy CoreのASYNCデータベースアクセス、PostgreSQL、MySQL、およびSQLiteのサポート。
- PrismaクライアントPython- Pydanticが搭載し、スキーマ専用に仕立てられた自動生成された完全にタイプのSafe orm-sqlite、postgresql、mysql、mongodb、mariadbなどをサポートします。
- Piccolo- Asyncモードと同期モードで動作するORM /クエリビルダー、素敵な管理者GUIとASGIミドルウェア。
- Beanie -MotorとPydantic上に構築されたAsync Mongodb ODM。
ネットワーキング
ネットワークで通信するライブラリ。
- Asyncssh- SSHV2プロトコルの非同期クライアントとサーバーの実装を提供します。
- AIODNS -AsyncioのシンプルなDNSリゾルバー。
- AIOPING -ICMP(PING)プロトコルの高速アシンシオ実装。
- HTTPX -Python 3の非同期HTTPクライアントは、リクエスト互換APIを使用しています。
graphql
GraphQLサーバーを構築するライブラリ。
- Ariadne -GraphQLサーバーを実装するためのスキーマファーストPythonライブラリ。
- Tartiflette
libgraphqlparser
の上に構築されたスキーマファーストPython 3.6+ GraphQLエンジン。 - Strawberry -Django、Flask、Fastapi/Starletteサポートを備えたコードファーストPython 3 GraphQl Server。
テスト
非同期ベースのアプリケーションをテストするライブラリ。
- AIOMOCK -ASYNCメソッドをサポートするPythonモックライブラリ。
- asynctest-テスト用の機能を備えた標準的なUnittestパッケージを強化します。 Asyncioライブラリ
- pytest -asyncio-アシンジオのpytestサポート。
- Aresponses -asyncio http mocking。リクエストに使用される応答ライブラリと同様。
- aioresponses -python aiohttpパッケージのモック/偽のWeb要求のヘルパー。
代替ループ
代替Asyncioループの実装。
- uvloop -libuvの上にAsyncioイベントループの超高速実装。
その他
その他の素晴らしいAsyncioライブラリ。
- Aiochan-チャネルとのCSPスタイルの並行性、Asyncioの上で選択およびマルチプロセッシング。
- aioCache-さまざまなバックエンドのキャッシュマネージャー。
- aiofiles- asyncioのファイルサポート。
- aiopath-アシンジオの非同期
pathlib
。 - aiodebug-非同期プログラムを監視およびテストするための小さなライブラリ。
- Aiorun -StartupとGraceful Shutdownのためにすべての通常のボイラープレートを処理する
run()
関数。 - AIOSC-軽量のオープンサウンドコントロールの実装。
- エオリアル - 宮頭のドロップイン置換。
- Aiozipkin-ジプキンを使用したAsyncioのための分散トレース計装
- ASGIREF -ASGIからWSGI統合のバックエンドUTILSには、sync_to_asyncおよびasync_to_sync関数ラッパーが含まれます。
- ASYNC_PROPERTY -ASYNCプロパティのPythonデコレータ。
- Ruia -Asyncioに基づいたAsync Webスクレイピングマイクロフレームワーク。
- Kubernetes_asyncio- Kubernetesの非同期クライアントライブラリ。
- aiomisc
asyncio
のその他の利用。 - taskiq-非同期分散タスクマネージャー(セロリなど)。
文章
ドキュメント、ブログ投稿、およびAsyncioについてのその他の素晴らしい文章。
- 公式のAsyncioドキュメント - 非同期I/O、イベントループ、コルーチン、タスク。
- Asyncioの短いよく書かれたイントロ - 発電機、コルーチン、ネイティブコルーチン、Async/await。
- Asyncio for Working Python開発者 - 基本的な例からURL Fetchingまでの非同期プログラミングの穏やかな紹介。
- Python aiohttpのテスト制限 - python -aiohttpを使用して100万件のリクエストを行います。
- ASGI(非同期サーバーゲートウェイインターフェイス) - WSGIの精神的な後継者。非同期対応のPython Webサーバー、フレームワーク、およびアプリケーション間の標準インターフェイスを提供することを目的としています。
- 最初の原則Asyncioの紹介 - Asyncioの内部働きの紹介のない最初の原則。
- FastAPIおよびPytestで非同期APIを開発およびテストする - このチュートリアルでは、テスト駆動型開発(TDD)を使用してFastAPIを使用して非同期APIを開発およびテストする方法について説明します。
- AsyncioとのPython同時性 - 同時プログラミングと最先端のAsyncioライブラリを使用して、スローPythonコードをスピードアップする方法を学びます。
話し合い
Asyncioについての素晴らしい話の録音。
- 関心のあるトピック(Python asyncio)|スクリーンキャスト|スライド-PyconBrasil 2015 Keynote(David Beazley)。
- Python非同期I/Oウォークスルー-8部構成のコードウォークスルー(Philip Guo)。
- Python 3.5でAsync/待ち望んでいて、なぜそれが素晴らしいのか-Europython 2016(Yury Selivanov)。
- Asyncでの恐怖と待ち望:Coroutine Dreamの中心への野avな旅|スクリーンキャスト-Pyohio 2016 Keynote(David Beazley)。
- 完全な初心者のための非同期Python |スライド-Pycon 2017(Miguel Grinberg)。
- PythonのAsyncと待ち望んだキーワードを分類する-JetbrainsTV 2020(Michael Kennedy)
Asyncioの代替
PythonでのAsyncプログラミングへの代替アプローチは、その一部がasyncio
との互換性をサポートしようとしているため、他のものはまったく互換性がありません。
- キュリオ - コルーチンの並行機関ライブラリ。
- Curio -asyncio Bridge-基本的なキュリオ - > Asyncio Coroutine Bridge。
- トリオ - 人間とヘビの人々のためのPythonic Async I/O。
- Trio-Asyncio-トリオの上にAsyncio Mainloopの再実装。
- Anyio-トリオまたは非同期のいずれかの上で機能する高レベルの非同期性並行性とネットワークフレームワーク。