Canopus GraphQL

Canopus is a fast, unopinionated and minimalist GraphQL web framework. Thanks for checking it out!

Motivation

The GraphQL community is growing rapidly, with a wide range of resources to work with. However, today’s GraphQL libraries lack a few essential features which are required to get an application up and running, without any friction. Simply put, you need to implement these features on your own to get GraphQL to work for you. The root of this problem lies inside the fact that the GraphQL ecosystem currently exists inside a myriad of tools built to create RESTful services. The developers of Canopus strongly believe that creating GraphQL oriented web frameworks is the way to push the community forward. Canopus was created to address all of these issues, and provide a better developer experience. Canopus doesn’t build on top of existing RESTful web frameworks like Django or Flask. It is a web framework on it’s own.

Proposed Features

  • asyncio Python 3.8+ codebase with typehints

  • optimized to be fast and scalable

  • minimalist and unopinionated API

  • follows a code-first approach to building schemas

  • built-in support for caching and batch-loading

  • data-agnostic. Pull data in from any data sources

  • sessions support out of the box

  • query batching support (for use with Apollo-Client)

  • complete support for the relay spec

  • fully compatible with the ASGI spec

Project Status

Canopus is still in it’s very early days of development. Its core is being built right now. Any contributions are highly appreciated! Please read our contributing guidelines for more information.

Installing

Install and update using pip:

$ pip install -U Canopus