Welcome to PyQL’s documentation!

PyQL provides a high-level API for defining GraphQL schemas.

It uses graphql-core behind the scenes, which means generated schemas are fully compatible with that library.

What about Graphene?

Graphene serves a similar purpose, but its object-based API is not great for defining large schemas. Also, there are parts that are confusing / error prone (eg. mixing field attributes with field constructor parameters).

Also, we’re trying to use Python facilities as much as possible for the schema definition (type annotations in particular), which makes the library friendlier to anyone already familiar with the Python language (no need to invent / learn new concepts).

This of course means the minimum supported Python version is 3.5, as type hints were first supported in that release.

Indices and tables