import graphene from graphene import ObjectType, Schema class QueryRoot(ObjectType): thrower = graphene.String(required=True) request = graphene.String(required=True) test = graphene.String(who=graphene.String()) def resolve_thrower(self, info): raise Exception("Throws!") def resolve_request(self, info): return info.context.GET.get("q") def resolve_test(self, info, who=None): return "Hello %s" % (who or "World") class MutationRoot(ObjectType): write_test = graphene.Field(QueryRoot) def resolve_write_test(self, info): return QueryRoot() schema = Schema(query=QueryRoot, mutation=MutationRoot)