awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
graphql-python avatar

graphql-python/graphene-django

0
View on GitHub↗
4,390 stars·766 forks·Python·MIT·21 viewsdocs.graphene-python.org/projects/django/en/latest↗

Graphene Django

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 covers a broad range of capabilities, including field-level access control, middleware-based request interception, and the handling of real-time operations via WebSocket routing. It also includes utilities for SQL performance inspection and mutation transaction wrapping to ensure data integrity during updates.

A specialized test client is provided to verify API responses and execute queries against the endpoint.

Features

  • GraphQL API Implementations - Implements a full server-side GraphQL interface to expose Django data models and logic via a typed schema.
  • GraphQL APIs - Provides a framework for exposing Django data models through automatically generated GraphQL interfaces.
  • GraphQL Schema Definitions - Implements the core process of mapping internal Django data models to a typed GraphQL schema.
  • API Result Filters - Provides capabilities to restrict API response sets using model field filters and custom lookup logic.
  • Foreign Key Constraints - Maps foreign keys between database entities to enable nested data retrieval through a graph schema.
  • GraphQL Data Mappers - Maps relational database tables and ORM models to GraphQL types with optimized query resolution.
  • GraphQL Integrations - Bridges Django database schemas with GraphQL APIs by mapping models to a typed graph schema.
  • GraphQL Mutation Implementations - Implements server-side logic for creating and updating database records via GraphQL mutations.
  • Object Relational Mappings - Provides frameworks for defining and managing relationships between Django models and GraphQL object types.
  • Queryset Filtering Backends - Controls database record visibility and ownership at the GraphQL type level using custom queryset filtering logic.
  • Related Object Retrievers - Traverses foreign key and many-to-many relationships to retrieve nested linked data in a single GraphQL request.
  • Result Ordering and Limiting - Allows clients to specify model fields for sorting the sequence of returned database records.
  • Custom Object Types - Defines plain object types to decouple the external data structure from the internal database schema.
  • Data Set Pagination - Implements standardized patterns for page-based navigation and result set limits in GraphQL queries.
  • Authentication-Based Visibility Controls - Limits returned objects based on user authentication, visibility rules, and custom business logic.
  • Resolver-to-Method Mapping - Maps GraphQL query and mutation objects to specific data fetching methods to define the API structure.
  • Django Model Mappings - Automatically transforms database models and relationships into a graph schema to expose backend data via an API.
  • GraphQL HTTP Endpoints - Exposes the GraphQL schema via a single HTTP endpoint and provides an interactive browser interface for testing.
  • Model List Exposure - Returns collections of database objects as GraphQL lists based on the model's default data set.
  • Model-to-Type Mapping - Transforms Django database model fields into GraphQL object types to expose data structures via a graph schema.
  • Model-to-Type Mappings - Automatically transforms Django database model fields into GraphQL object types to expose data structures.
  • Relay Specification Implementations - Ensures compliance with Relay standards for connections, edges, and global object identification.
  • Relay Specifications - Implements standardized cursor-based pagination and global unique identifiers following the Relay specification.
  • Database APIs - Acts as a programmatic interface that exposes database records and relationships as a queryable graph.
  • Pagination Connection Limits - Enforces maximum limits on the number of objects requested in a Relay connection to ensure efficient pagination.
  • Application-to-Database Enum Mapping - Transforms database field options into typed GraphQL enums to ensure valid input selection.
  • Choice Field Enums - Automatically generates typed GraphQL enums from Django model choice fields using standard naming patterns.
  • GraphQL Schema Exports - Enables printing the GraphQL schema as SDL or JSON for use with external tools and plugins.
  • Transactional Data Mutations - Ensures that a set of mutation fields within a single request are executed within a transaction for atomic success or rollback.
  • GraphQL Middleware Interceptors - Runs a sequence of middleware classes for every incoming query to handle authentication and other cross-cutting concerns.
  • API Access Restrictions - Controls which users can query or mutate specific data fields using integrated authorization logic.
  • Field-Level Access Controls - Hides or exposes specific model fields in the API using inclusion or exclusion lists based on permissions.
  • Permission-Based Access Control - Restricts access to GraphQL queries and mutations based on user roles and specific permissions.
  • Form-to-Mutation Generation - Derives mutation input arguments and validation logic directly from existing Django model forms.
  • GraphQL Testing - Verifies response data and error states by executing queries against the API using a specialized test client.
  • API Response Verifications - Simulates network requests using mock data to verify that GraphQL queries and mutations return expected results.
  • Form-to-Mutation Mappings - Generates GraphQL mutation input arguments and validation logic directly from existing Django forms.
  • Relay Mutation Generation - Generates mutation fields and payload objects that comply with the Relay specification for client-side tracking.
  • Request Interception Middlewares - Provides a middleware pipeline to intercept incoming GraphQL queries for authentication and cross-cutting concerns.
  • Serializer-to-Mutation Mappings - Utilizes existing Django REST framework serializers to handle input validation and verification for GraphQL mutations.
  • API Development - GraphQL integration for Django models.
  • Python GraphQL Tools - Django integration for the Graphene library.

Star history

Star history chart for graphql-python/graphene-djangoStar history chart for graphql-python/graphene-django

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Graphene Django

Similar open-source projects, ranked by how many features they share with Graphene Django.
  • rmosolgo/graphql-rubyrmosolgo avatar

    rmosolgo/graphql-ruby

    5,448View on GitHub↗

    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

    Ruby
    View on GitHub↗5,448
  • graphql-python/graphenegraphql-python avatar

    graphql-python/graphene

    8,238View on GitHub↗

    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 project includes a full implementation of the Relay specification, providing standardized patterns for global object identification and cursor-based pagination. It utilizes a class-based approach to schema definition and supports interface-based type inheritance. The framework covers a broa

    Python
    View on GitHub↗8,238
  • strawberry-graphql/strawberrystrawberry-graphql avatar

    strawberry-graphql/strawberry

    4,674View on GitHub↗

    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

    Pythonasgiasynciodjango
    View on GitHub↗4,674
  • async-graphql/async-graphqlasync-graphql avatar

    async-graphql/async-graphql

    3,671View on GitHub↗

    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

    Rust
    View on GitHub↗3,671
See all 30 alternatives to Graphene Django→

Frequently asked questions

What does graphql-python/graphene-django do?

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.

What are the main features of graphql-python/graphene-django?

The main features of graphql-python/graphene-django are: GraphQL API Implementations, GraphQL APIs, GraphQL Schema Definitions, API Result Filters, Foreign Key Constraints, GraphQL Data Mappers, GraphQL Integrations, GraphQL Mutation Implementations.

What are some open-source alternatives to graphql-python/graphene-django?

Open-source alternatives to graphql-python/graphene-django include: rmosolgo/graphql-ruby — GraphQL-Ruby is a Ruby library for building GraphQL APIs with a strongly typed schema and a dedicated query execution… graphql-python/graphene — Graphene is a library and framework for building type-safe GraphQL APIs and schemas using Python objects and… strawberry-graphql/strawberry — Strawberry is a type-safe GraphQL library for Python that enables the design of schemas using Python type annotations… async-graphql/async-graphql — async-graphql is a type-safe framework for building specification-compliant GraphQL servers in Rust. It uses… graphql-dotnet/graphql-dotnet — GraphQL.NET is a server-side framework for building and executing GraphQL APIs within C# applications. It provides a… hayes/pothos — Pothos is a code-first GraphQL schema builder and framework designed for type-safe development. It allows developers…