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 ebenfalls dieselben Tests durch und melden die Ergebnisse, sodass potenzielle Mitwirkende nicht versuchen müssen, jede einzelne Python-Version 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