Package: graphene
���� Join the community on
SlackWe are looking for contributors! Please check theROADMAPto see how you can help ������IntroductionGrapheneis an opinionated Python
library for building GraphQL schemas/types fast and easily.Easy to use:Graphene helps you use GraphQL in Python without
effort.Relay:Graphene has builtin support for Relay.Data agnostic:Graphene supports any kind of data source: SQL
(Django, SQLAlchemy), NoSQL, custom Python objects, etc. We believe
that by providing a complete API you could plug Graphene anywhere
your data lives and make your data available through GraphQL.IntegrationsGraphene has multiple integrations with different frameworks:integrationPackageDjangographene-djangoSQLAlchemygraphene-sqlalchemyAlso, Graphene is fully compatible with the GraphQL spec, working
seamlessly with all GraphQL clients, such asRelay,Apolloandgql.InstallationTo installgraphene, just run this command in your shellpipinstall"graphene>=3.0"ExamplesHere is one example for you to get started:importgrapheneclassQuery(graphene.ObjectType):hello=graphene.String(description='A typical hello world')defresolve_hello(self,info):return'World'schema=graphene.Schema(query=Query)Then Queryinggraphene.Schemais as simple as:query='''
    query SayHello {
      hello
    }
'''result=schema.execute(query)If you want to learn even more, you can also check the followingexamples:Basic Schema:Starwars exampleRelay Schema:Starwars Relay
exampleDocumentationDocumentation and links to additional resources are available athttps://docs.graphene-python.org/en/latest/ContributingAfter cloning this repo, create avirtualenvand ensure
dependencies are installed by running:virtualenvvenvsourcevenv/bin/activatepipinstall-e".[test]"Well-written tests and maintaining good test coverage is important to
this project. While developing, run new and existing tests with:py.testgraphene/relay/tests/test_node.py# Single filepy.testgraphene/relay# All tests in directoryAdd the-sflag if you have introduced breakpoints into the code for
debugging. Add the-v(���verbose���) flag to get more detailed test
output. For even more detailed output, use-vv. Check out thepytest documentationfor more
options and test running controls.You can also run the benchmarks with:py.testgraphene--benchmark-onlyGraphene supports several versions of Python. To make sure that changes
do not break compatibility with any of those versions, we usetoxto
create virtualenvs for each Python version and run tests with that
version. To run against all Python versions defined in thetox.iniconfig file, just run:toxIf you wish to run against a specific version defined in thetox.inifile:tox-epy36Tox can only use whatever versions of Python are installed on your
system. When you create a pull request, Travis will also be running the
same tests and report the results, so there is no need for potential
contributors to try to install every single version of Python on their
own system ahead of time. We appreciate opening issues and pull requests
to make graphene even more stable & useful!Building DocumentationThe documentation is generated using the excellentSphinxand a custom theme.An HTML version of the documentation is produced by running:makedocs