Discord のコミュニティに参加する
寄稿者を募集しています!現在の問題を確認して、どのようにサポートできるかを確認してください ❤️
Graphene は、GraphQL スキーマ/型を迅速かつ簡単に構築するための独自の Python ライブラリです。
グラフェンには、さまざまなフレームワークと複数の統合があります。
統合 | パッケージ |
---|---|
SQLアルケミー | グラフェン-スクラルケミー |
モンゴ | グラフェンモンゴ |
アポロ連邦 | グラフェンフェデレーション |
ジャンゴ | グラフェンジャンゴ |
また、Graphene は GraphQL 仕様と完全に互換性があり、Relay、Apollo、gql などのすべての GraphQL クライアントとシームレスに動作します。
graphene
インストールするには、シェルでこのコマンドを実行するだけです
pip install " graphene>=3.1 "
以下に、始めるための 1 つの例を示します。
import graphene
class Query ( graphene . ObjectType ):
hello = graphene . String ( description = 'A typical hello world' )
def resolve_hello ( self , info ):
return 'World'
schema = graphene . Schema ( query = Query )
この場合、 graphene.Schema
クエリは次のように簡単になります。
query = '''
query SayHello {
hello
}
'''
result = schema . execute ( query )
さらに詳しく知りたい場合は、次の例も確認してください。
ドキュメントと追加リソースへのリンクは、https://docs.graphene-python.org/en/latest/ で入手できます。
このリポジトリのクローンを作成した後、virtualenv を作成し、以下を実行して依存関係がインストールされていることを確認します。
virtualenv venv
source venv/bin/activate
pip install -e " .[test] "
このプロジェクトでは、適切に作成されたテストと良好なテスト カバレッジを維持することが重要です。開発中に、次のコマンドを使用して新規および既存のテストを実行します。
pytest graphene/relay/tests/test_node.py # Single file
pytest graphene/relay # All tests in directory
デバッグのためにコードにブレークポイントを導入した場合は、 -s
フラグを追加します。より詳細なテスト出力を取得するには、 -v
("verbose") フラグを追加します。さらに詳細な出力を得るには、 -vv
使用します。その他のオプションとテスト実行コントロールについては、pytest のドキュメントを参照してください。
pre-commit
フックが最新で有効になっていることを定期的に確認してください。
pre-commit install
次のコマンドを使用してベンチマークを実行することもできます。
pytest graphene --benchmark-only
Graphene は、Python の複数のバージョンをサポートしています。変更によってこれらのバージョンとの互換性が損なわれないようにするために、 tox
使用して Python バージョンごとに virtualenv を作成し、そのバージョンでテストを実行します。 tox.ini
構成ファイルで定義されているすべての Python バージョンに対して実行するには、次を実行するだけです。
tox
tox.ini
ファイルで定義された特定のバージョンに対して実行したい場合は、次のようにします。
tox -e py39
Tox は、システムにインストールされている Python のバージョンのみを使用できます。プル リクエストを作成すると、GitHub Actions パイプラインも同じテストを実行して結果をレポートするため、潜在的な貢献者が事前に Python のすべてのバージョンを自分のシステムにインストールしようとする必要はありません。グラフェンをさらに安定して便利にするために、問題をオープンしたりプルリクエストを作成したりすることに感謝します。
ドキュメントは、優れた Sphinx とカスタム テーマを使用して生成されます。
ドキュメントの HTML バージョンは、以下を実行することで生成されます。
make docs