Treten Sie der Community auf Discord bei
Wir suchen Mitwirkende ! Bitte schauen Sie sich die aktuellen Probleme an, um zu sehen, wie Sie helfen können ❤️
Graphene ist eine eigenständige Python-Bibliothek zum schnellen und einfachen Erstellen von GraphQL-Schemas/-Typen.
Graphene verfügt über mehrere Integrationen mit verschiedenen Frameworks:
Integration | Paket |
---|---|
SQLAlchemy | Graphen-SQLalchemie |
Mongo | Graphen-Mongo |
Apollo-Föderation | Graphen-Föderation |
Django | Graphen-Django |
Darüber hinaus ist Graphene vollständig mit der GraphQL-Spezifikation kompatibel und funktioniert nahtlos mit allen GraphQL-Clients wie Relay, Apollo und gql.
Um graphene
zu installieren, führen Sie einfach diesen Befehl in Ihrer Shell aus
pip install " graphene>=3.1 "
Hier ist ein Beispiel für den Einstieg:
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 )
Dann ist die Abfrage graphene.Schema
so einfach wie:
query = '''
query SayHello {
hello
}
'''
result = schema . execute ( query )
Wenn Sie noch mehr erfahren möchten, können Sie sich auch die folgenden Beispiele ansehen:
Dokumentation und Links zu zusätzlichen Ressourcen finden Sie unter https://docs.graphene-python.org/en/latest/
Erstellen Sie nach dem Klonen dieses Repos eine virtuelle Umgebung und stellen Sie sicher, dass Abhängigkeiten installiert sind, indem Sie Folgendes ausführen:
virtualenv venv
source venv/bin/activate
pip install -e " .[test] "
Gut geschriebene Tests und die Aufrechterhaltung einer guten Testabdeckung sind für dieses Projekt wichtig. Führen Sie während der Entwicklung neue und bestehende Tests durch mit:
pytest graphene/relay/tests/test_node.py # Single file
pytest graphene/relay # All tests in directory
Fügen Sie das Flag -s
hinzu, wenn Sie zum Debuggen Haltepunkte in den Code eingeführt haben. Fügen Sie das Flag -v
(„verbose“) hinzu, um eine detailliertere Testausgabe zu erhalten. Für eine noch detailliertere Ausgabe verwenden Sie -vv
. Weitere Optionen und Testlaufkontrollen finden Sie in der Pytest-Dokumentation.
Stellen Sie regelmäßig sicher, dass Ihre pre-commit
Hooks auf dem neuesten Stand und aktiviert sind:
pre-commit install
Sie können die Benchmarks auch ausführen mit:
pytest graphene --benchmark-only
Graphene unterstützt mehrere Versionen von Python. Um sicherzustellen, dass Änderungen die Kompatibilität mit keiner dieser Versionen beeinträchtigen, erstellen wir mit tox
virtuelle Umgebungen für jede Python-Version und führen Tests mit dieser Version durch. Um alle in der Konfigurationsdatei tox.ini
definierten Python-Versionen auszuführen, führen Sie einfach Folgendes aus:
tox
Wenn Sie eine bestimmte Version ausführen möchten, die in der Datei tox.ini
definiert ist:
tox -e py39
Tox kann nur die auf Ihrem System installierten Python-Versionen verwenden. Wenn Sie eine Pull-Anfrage erstellen, führen die GitHub Actions-Pipelines auch dieselben Tests durch und melden die Ergebnisse, sodass potenzielle Mitwirkende nicht versuchen müssen, jede einzelne Version von Python vorab auf ihrem eigenen System zu installieren. Wir freuen uns über offene Probleme und Pull-Requests, um Graphen noch stabiler und nützlicher zu machen!
Die Dokumentation wird mit dem hervorragenden Sphinx und einem benutzerdefinierten Theme erstellt.
Eine HTML-Version der Dokumentation wird erstellt, indem Sie Folgendes ausführen:
make docs