/graphql-core

GraphQL implementation for Python

Primary LanguagePythonMIT LicenseMIT

graphql-core

Core GraphQL Library for Python

PyPI version Build Status Coverage Status Public Slack Discussion

Project Status

This in Beta status. Use in production at your own caution.

We are currently focusing on porting graphql-js to Python. This library includes core features only that other packages within the graphql-python organization shall build upon. We are currently targeting feature parity with v0.4.7 of the reference implementation.

Please see issues for the progress.

Getting Started

An overview of the GraphQL language is available in the README for the Specification for GraphQL. The overview describes a simple set of GraphQL examples that exist as tests in this repository. A good way to get started is to walk through that README and the corresponding tests in parallel.

Using graphql-core

Install from pip:

pip install graphql-core

Supported Python Versions

graphql-core supports the following Python versions:

  • 2.7.x
  • 3.3.x
  • 3.4.x
  • 3.5.0
  • pypy-2.6.1

Built-in Concurrency Support

Support for 3.5.0's asyncio module for concurrent execution is available via an executor middleware at graphql.core.execution.middlewares.asyncio.AsyncioExecutionMiddleware.

Additionally, support for gevent is available via graphql.core.execution.middlewares.gevent.GeventExecutionMiddleware.

Otherwise, by default, the executor will use execute with no concurrency.

Documentation

Documentation is in the works but not available yet. See #14 for additional information.

Pythonic GraphQL Library

graphql-core provides a more low-level API for building a GraphQL API and schema. For a more refined and Pythonic interface to build graphql APIs, check out graphene.

Current Maintainer

Contributions

For an up to date list of contributors, check the contributor list here.

License

MIT License

Original work

This project is a community fork of graphqllib by @dittos.