Graphene is a library and framework for building type-safe GraphQL APIs and schemas using Python objects and resolvers. It provides a system for mapping internal data models to typed GraphQL schemas, enabling the creation of servers that process queries and execute resolvers to return structured data.
The main features of graphql-python/graphene are: GraphQL APIs, GraphQL Frameworks, Server Libraries, Backend Data Access Layers, GraphQL Mutation Implementations, GraphQL Mutation Management, Class-Based Schema Mapping, Resolver-Based Fetching.
Open-source alternatives to graphql-python/graphene include: strawberry-graphql/strawberry — Strawberry is a type-safe GraphQL library for Python that enables the design of schemas using Python type annotations… rmosolgo/graphql-ruby — GraphQL-Ruby is a Ruby library for building GraphQL APIs with a strongly typed schema and a dedicated query execution… async-graphql/async-graphql — async-graphql is a type-safe framework for building specification-compliant GraphQL servers in Rust. It uses… graphql-python/graphene-django — Graphene-Django is a GraphQL integration framework and schema mapper used to build typed APIs for Django applications.… graphql-go/graphql — This project is a GraphQL implementation for Go, providing a complete suite for building GraphQL servers. It includes… michallytek/type-graphql — Type-graphql is a toolkit and framework for creating type-safe GraphQL APIs. It functions as a schema generator and…
Strawberry is a type-safe GraphQL library for Python that enables the design of schemas using Python type annotations and dataclasses. It functions as an asynchronous GraphQL server and execution engine, providing a bridge to expose schemas across ASGI-compliant web frameworks such as FastAPI, Django, Flask, and Litestar. The project implements GraphQL Federation, allowing for the creation of distributed schemas and entities that merge into a unified supergraph across multiple services. It also includes a dedicated toolkit for the Relay specification, supporting global object identification a
GraphQL-Ruby is a Ruby library for building GraphQL APIs with a strongly typed schema and a dedicated query execution engine. It provides a comprehensive framework for mapping application objects to a formal type system, enabling structured data fetching through defined resolvers. The project distinguishes itself with advanced performance and delivery mechanisms, including a data loader for batching and caching to prevent N+1 query patterns. It supports high-performance data delivery through incremental response streaming, deferred query responses, and parallel data fetching using fibers. Add
async-graphql is a type-safe framework for building specification-compliant GraphQL servers in Rust. It uses procedural macros to automatically generate schemas from native language structures, ensuring consistency between the data model and the API specification. The project provides native support for Apollo Federation v2, allowing entities and fields to be shared and resolved across multiple distributed subgraphs. It also implements real-time data streaming via WebSocket subscriptions and asynchronous event streams. The framework includes a wide array of capabilities for schema design, su
Graphene-Django is a GraphQL integration framework and schema mapper used to build typed APIs for Django applications. It functions as a database API layer that transforms Django model fields and relationships into a graph schema, allowing clients to request specific data in a single call. The project implements the Relay specification, providing tools for global object identification and standardized connection-based pagination to manage large datasets. It distinguishes itself by mapping database models, forms, and serializers directly into GraphQL object types and mutations. The framework