Skip to content

Latest commit

 

History

History
52 lines (36 loc) · 2.36 KB

README.md

File metadata and controls

52 lines (36 loc) · 2.36 KB

WebOb-GraphQL

Build Status Coverage Status PyPI version

Adds GraphQL support to your WebOb (Pyramid, Pylons, ...) application.

Installation

For instaling WebOb-GraphQL, just run this command in your shell

pip install "webob-graphql>=1.0.dev"

Usage

Just use the serve_graphql_request function from webob_graphql

Pyramid

from pyramid.view import view_config

from webob_graphql import serve_graphql_request


@view_config(
    route_name='graphql',
    # The serve_graphql_request method will detect what's the best renderer
    # to use, so it will do the json render automatically.
    # In summary, don't use the renderer='json' here :)
)
def graphql_view(request):
    context = {'session': request.session}
    return serve_graphql_request(request, schema, context_value=context)

    # Optional, for adding batch query support (used in Apollo-Client)
    return serve_graphql_request(request, schema, batch_enabled=True, context_value=context)

Supported options

  • schema: The GraphQLSchema object that you want the view to execute when it gets a valid request.
  • context_value: A value to pass as the context to the graphql() function.
  • root_value: The root_value you want to provide to executor.execute.
  • format_error: If you want to use a custom error formatter.
  • pretty: Whether or not you want the response to be pretty printed JSON.
  • executor: The Executor that you want to use to execute queries.
  • graphiql_enabled: If True (default), may present GraphiQL when loaded directly from a browser (a useful tool for debugging and exploration).
  • render_graphiql: A custom function for rendering GraphiQL (this function should have the arguments result and params).
  • batch_enabled: Enable batch support (for using in Apollo-Client or ReactRelayNetworkLayer)