Rejoignez la communauté sur Discord
Nous recherchons des contributeurs ! Veuillez consulter les problèmes actuels pour voir comment vous pouvez aider ❤️
Graphene est une bibliothèque Python avisée permettant de créer des schémas/types GraphQL rapidement et facilement.
Graphene a plusieurs intégrations avec différents frameworks :
intégration | Emballer |
---|---|
SQLAlchimie | graphène-sqlalchimie |
Mongo | graphène-mongo |
Fédération Apollo | fédération de graphène |
Django | graphène-django |
De plus, Graphene est entièrement compatible avec la spécification GraphQL, fonctionnant de manière transparente avec tous les clients GraphQL, tels que Relay, Apollo et gql.
Pour installer graphene
, exécutez simplement cette commande dans votre shell
pip install " graphene>=3.1 "
Voici un exemple pour commencer :
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 )
Ensuite, interroger graphene.Schema
est aussi simple que :
query = '''
query SayHello {
hello
}
'''
result = schema . execute ( query )
Si vous souhaitez en savoir encore plus, vous pouvez également consulter les exemples suivants :
De la documentation et des liens vers des ressources supplémentaires sont disponibles sur https://docs.graphene-python.org/en/latest/
Après avoir cloné ce dépôt, créez un virtualenv et assurez-vous que les dépendances sont installées en exécutant :
virtualenv venv
source venv/bin/activate
pip install -e " .[test] "
Des tests bien rédigés et le maintien d’une bonne couverture des tests sont importants pour ce projet. Pendant le développement, exécutez des tests nouveaux et existants avec :
pytest graphene/relay/tests/test_node.py # Single file
pytest graphene/relay # All tests in directory
Ajoutez l'indicateur -s
si vous avez introduit des points d'arrêt dans le code pour le débogage. Ajoutez l'indicateur -v
("verbeux") pour obtenir une sortie de test plus détaillée. Pour une sortie encore plus détaillée, utilisez -vv
. Consultez la documentation pytest pour plus d'options et testez les contrôles en cours d'exécution.
Assurez-vous régulièrement que vos hooks pre-commit
sont à jour et activés :
pre-commit install
Vous pouvez également exécuter les benchmarks avec :
pytest graphene --benchmark-only
Graphene prend en charge plusieurs versions de Python. Pour nous assurer que les modifications ne rompent pas la compatibilité avec aucune de ces versions, nous utilisons tox
pour créer des virtualenvs pour chaque version de Python et exécuter des tests avec cette version. Pour exécuter sur toutes les versions de Python définies dans le fichier de configuration tox.ini
, exécutez simplement :
tox
Si vous souhaitez exécuter une version spécifique définie dans le fichier tox.ini
:
tox -e py39
Tox ne peut utiliser que les versions de Python installées sur votre système. Lorsque vous créez une pull request, les pipelines GitHub Actions exécuteront également les mêmes tests et rapporteront les résultats, il n'est donc pas nécessaire pour les contributeurs potentiels d'essayer d'installer chaque version de Python sur leur propre système à l'avance. Nous apprécions l'ouverture de tickets et les pull request pour rendre le graphène encore plus stable et utile !
La documentation est générée à l'aide de l'excellent Sphinx et d'un thème personnalisé.
Une version HTML de la documentation est produite en exécutant :
make docs