[Python] Starlette (ASGI) で Graphene v3 (GraphQL) を使う
Python用のGraphQLフレームワークの Graphene のバージョン v3-beta を、ASGIフレームワークのStarlette上で使いたかったので簡単なライブラリを書いた。
https://github.com/ciscorn/starlette-graphene3
Subscriptions (via WebSocket) にも対応させてある。
Starletteは標準でもGraphene v2のサポートを備えている (starltte.graphql
) のだけど、このGraphene v2は内部で graphql-core-legacy
という古いライブラリに依存しているため、文字通りレガシーなものになってしまっている。
次期Graphene v3の土台になっている graphql-core
は、Python 2を切り捨ててasyncioネイティブに書き直されているので、非同期処理が簡潔に実装されていて、非同期のWebフレームワークやsubscriptionsに容易に対応できる。