Skip to content

Normatica/graphql-core

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

graphql-core

Core GraphQL Library for Python

PyPI version Build Status Coverage Status Public Slack Discussion

Project Status

This library is a port of 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.13 of the reference implementation, and are currently on v0.4.12.

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

For a more refined and Pythonic interface to build graphql APIs, check out

  • graphene
    • Easy to use: Graphene helps you use GraphQL in Python without effort.
    • Relay: Graphene has builtin support for Relay
    • Django: Automatic Django model mapping to Graphene Types. Check a fully working Django implementation
  • graphql-epoxy
    • Minimal Boilerplate: You can create a GraphQL schema and execute it in less than 5 lines of code.
    • Definition Ordering: It doesn't matter. Define your objects in any order you want. Epoxy will take care of the rest.
    • Quick: Once you create your schema, epoxy doesn't get in the way. Your resolvers will be called directly by graphql-core with no additional indirection.

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.

About

GraphQL implementation for Python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%