Bibliothèque Python GraphQL basée sur des classes de données
La méthode de démarrage rapide fournit un serveur et une CLI pour démarrer rapidement. Installer avec :
pip install " strawberry-graphql[debug-server] "
Créez un fichier appelé app.py
avec le code suivant :
import strawberry
@ strawberry . type
class User :
name : str
age : int
@ strawberry . type
class Query :
@ strawberry . field
def user ( self ) -> User :
return User ( name = "Patrick" , age = 100 )
schema = strawberry . Schema ( query = Query )
Cela créera un schéma GraphQL définissant un type User
et un user
de champ de requête unique qui renverra un utilisateur codé en dur.
Pour exécuter le serveur de débogage, exécutez la commande suivante :
strawberry server app
Ouvrez le serveur de débogage en cliquant sur le lien suivant : http://0.0.0.0:8000/graphql
Cela ouvrira GraphiQL où vous pourrez tester l'API.
Strawberry est livré avec un plugin mypy qui permet de vérifier de manière statique votre schéma GraphQL. Pour l'activer, ajoutez les lignes suivantes à votre configuration mypy.ini
:
[mypy]
plugins = strawberry.ext.mypy_plugin
Une vue Django est fournie pour ajouter un point de terminaison GraphQL à votre application.
INSTALLED_APPS
. INSTALLED_APPS = [
..., # your other apps
"strawberry.django" ,
]
urls.py
from strawberry . django . views import GraphQLView
from . schema import schema
urlpatterns = [
...,
path ( "graphql" , GraphQLView . as_view ( schema = schema )),
]
Pour prendre en charge les abonnements graphql sur WebSockets, vous devez fournir un serveur compatible WebSocket. Le serveur de débogage peut être configuré pour prendre en charge les WebSockets avec ces commandes :
pip install ' strawberry-graphql[debug-server] '
pip install ' uvicorn[standard] '
Nous utilisons la poésie pour gérer les dépendances, pour commencer, suivez ces étapes :
git clone https://github.com/strawberry-graphql/strawberry
cd strawberry
poetry install --with integrations
poetry run pytest
Pour tous plus de détails, consultez la page de contribution
Nous avons une configuration pour le pré-commit, pour ajouter le hook, exécutez la commande suivante :
pre-commit install
Le code de ce projet est sous licence MIT. Voir LICENCE pour plus d’informations.