graphql-core-nextが使われているもう少しまともな比較はこの辺りを覗くと良い。graphql-core-next?pythonでのgraphqlの基礎部分のライブラリには、同じorganizationが作っているが、graphql-core-nextとgraphql-coreがあった。現在はgraphql-core-nextはgraphql-coreに統合され。graphql-core自体はlegacyになった。"graphql-core>=3a"しかしエコシステム(特にgraphene)が完全にアップデートできているかと言うとそうではない模様。graphql-core-nextを作ることになったのかの経緯はこの辺りでも書かれている。python3.6以降の機能を使って書きたいよねとか実装が陳腐化してしまっていて元のGraphQL.jsに追いつけてないとかそのあたりが理由。graphql-core-nextのリポジトリのreadmeにそれぞれの対応状況についての記述がある。https://github.com/graphql-python/graphql-core-next#integration-with-other-libraries-and-roadmap今回は新しいものを試したいのでgraphql-core-next上のものをみていくことにする。ariadneのあたりを試してみようと思った。world的なものを進めていくとは思う。その後の動きは深さ優先的な人と幅優先的な人がいるように思う(雰囲気で話している)。個人的にはそのまま学ぼうとしている何かを使おうとしたり次に直接進む前に、色々な粒度での実行確認ができるような実験場を作ろうすることが多い。理由は試行錯誤の手間が学習の妨げになるので。何かを確認したいと思った時にはちょうど良い粒度でのコードでの実行確認ができると良い。フットプリントが大きすぎては確認する手間を惜しむ様になっていく。そのような状態では細かな部分への理解が後々おぼつかなくなっていく。単純に不要な部分を切り分けることができなくなっていくような気がしている。なってくると何を学んで何を学ばなかったのかなど記録としての価値が喪われていってしまうような感覚がある。この辺りについて色々と語りたいこともある気がするけれど。情報収集で分かったことを雑にまとめる自分のための備忘録としてはここからが本題。大雑把に分かっていることをまとめる。今回はariadneを対象にした例。pythonのgraphqlライブラリにはgraphene,strawbery,ariadneがあるより基礎的なライブラリとしてgraphql-core,graphql-core-nextがあるariadneはgraphql-core-nextの上に構築されているariadneはasgi用のインターフェイスが用意されているasgiは非同期用のインターフェイスのこと。wsgiの非同期版(wsgiを知らなければwsgiも知っておく)asgiを試すのにはuvicorn辺りが手軽そうは言っても常にasgi込みで実行するのはめんどくさい1ファイルで実行したい色々な粒度のものを1ファイルで実行したい。1ファイルかというとこれから数十回くらいは試すことになるので。そのたびにプロジェクトやらを作っているのはバカバカしい。cookiecutterなどのプロジェクトテンプレートで生成を手軽にしたとしてファイルが不用意に増えていくのは把握がし辛い。pytest引数が欲しくなるときのためにタスクランナーやMakefileなどで指定できるようにしておく。-vvコマンドラインの引数や実行方法を意識せずに色々な例を試したいという気持ちでの作業なのでMakefileである必要はない。他の手に馴染んだものを使えば良い。実際その時の気分で利用するものは変える。どのような粒度で実行したいか考える例えば以下の様な粒度がありそう。先程の情報収集の結果を元に洗い出してみる。フルの状態のコードを元にコレを外せないか?アレが面倒なのだけど??とやっていくのも良い。手軽だと感じた辺りで辞める。(動作チェックはシェルスクリプトになる(今回は範囲外))ariadneに関してはこの辺りを一度揃えておくと便利そう(最初から綺麗に考えられる事は少ないかもしれない。実際のところは試行錯誤の後の後付だったりする)。world)少し寄り道。asgi自体のテストの仕方も整理しておかないとめんどくさい。starletteなどのasgi用のフレームワークを使っている場合にはそのフレームワークが提供しているテストクライアントを使えば良いと言えば良いのだけれど。なると1ファイルの部分で説明したように依存が複雑になる。appとして実行)繋げた形もテストコードの形式になっていると便利。======================================おしまい。手元で実行したいときのためのgist参考pythonとは直接関係ないけれどschema-firstのアプローチは嬉しいの嬉しくないのに対する1つの意見。grapheneの比較。graphqlまわりの試行錯誤用の最初のコードの作成。pyinspectというものを地味に作っている。componentという機能を追加した月別アーカイブはてなブログをはじめよう!podhmoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。