A Django GraphQL Starter that uses graphene and graphene_django to interface GraphQL.

Overview

Django GraphQL Starter

  • GraphQL is a query language for APIs and a runtime for fulfilling those queries with your existing data... According to the docs thats what GraphQL is, an open-source query language used to communicate data between the client and the server.

GraphQL is now considered as an API standard. It provides efficiency and flexibility. It enables declarative data fetching, (unlike REST, where multiple endpoints return fixed data structures).

Why is it better? Well GraphQL provides a single endpoint (Ikr amazing!), to access data. It responds with precise data from client requests. I'll explain this as we move forward.

But here is what to consider before moving your Django applications to GraphQL.

What to think about before using GraphQL?

  • Real-time collaboration.
  • Offline Programming Model with Sync.
  • Get only the data you need.
  • Fine-grained Access Control.
  • Flexible Database Options.

Disadvantages when using REST (Representational State Transfer) Protocol.

  • Some of the perceived weaknesses/problems of using REST are:
  • Inflexible to rapid changing requirements.
  • Overfetching Data.
  • Underfetching Data.
You might also like...
Generate a FullStack Playground using GraphQL and FastAPI 🚀

FastQL - FastAPI GraphQL Playground Generate a FullStack playground using FastAPI and GraphQL and Ariadne 🚀 . This Repository is based on this Articl

🔪 Facebook Messenger to email bridge based on reverse engineered auth and GraphQL APIs.

Unzuckify This repository has a small Python application which allows me to receive an email notification when somebody sends me a Facebook message. W

Blazing fast GraphQL endpoints finder using subdomain enumeration, scripts analysis and bruteforce.
Blazing fast GraphQL endpoints finder using subdomain enumeration, scripts analysis and bruteforce.

Graphinder Graphinder is a tool that extracts all GraphQL endpoints from a given domain. Run with docker docker run -it -v $(pwd):/usr/bin/graphinder

A plug and play GraphQL API for Wagtail, powered by Strawberry 🍓

Strawberry Wagtail 🐦 A plug and play GraphQL API for Wagtail, powered by Strawberry 🍓 ⚠️ Strawberry wagtail is currently experimental, please report

GraphQL framework for Python

Graphene 💬 Join the community on Slack We are looking for contributors! Please check the ROADMAP to see how you can help ❤️ The below readme is the d

tartiflette-aiohttp is a wrapper of aiohttp which includes the Tartiflette GraphQL Engine, do not hesitate to take a look of the Tartiflette project.
tartiflette-aiohttp is a wrapper of aiohttp which includes the Tartiflette GraphQL Engine, do not hesitate to take a look of the Tartiflette project.

tartiflette-aiohttp is a wrapper of aiohttp which includes the Tartiflette GraphQL Engine. You can take a look at the Tartiflette API documentation. U

ASGI support for the Tartiflette GraphQL engine
ASGI support for the Tartiflette GraphQL engine

tartiflette-asgi is a wrapper that provides ASGI support for the Tartiflette Python GraphQL engine. It is ideal for serving a GraphQL API over HTTP, o

GraphQL framework for Python

Graphene 💬 Join the community on Slack We are looking for contributors! Please check the ROADMAP to see how you can help ❤️ The below readme is the d

Ariadne is a Python library for implementing GraphQL servers using schema-first approach.
Ariadne is a Python library for implementing GraphQL servers using schema-first approach.

Ariadne Ariadne is a Python library for implementing GraphQL servers. Schema-first: Ariadne enables Python developers to use schema-first approach to

Comments
  • Suggest to loosen the dependency on graphene

    Suggest to loosen the dependency on graphene

    Hi, your project django-graphql-starter(commit id: 9fdce797d8d0498c6188e2c2ecbf44aaf00f0d39) requires "graphene==2.1.8" in its dependency. After analyzing the source code, we found that the following versions of graphene can also be suitable, i.e., graphene 2.1.3, 2.1.4, 2.1.5, 2.1.6, 2.1.7, 2.1.9, since all functions that you directly (3 APIs: graphene.types.schema.Schema.init, graphene.types.objecttype.ObjectType.init, graphene.types.structures.List.init) or indirectly (propagate to 7 graphene's internal APIs and 2 outsider APIs) used from the package have not been changed in these versions, thus not affecting your usage.

    Therefore, we believe that it is quite safe to loose your dependency on graphene from "graphene==2.1.8" to "graphene>=2.1.3,<=2.1.9". This will improve the applicability of django-graphql-starter and reduce the possibility of any further dependency conflict with other projects.

    May I pull a request to further loosen the dependency on graphene?

    By the way, could you please tell us whether such an automatic tool for dependency analysis may be potentially helpful for maintaining dependencies easier during your development?

    opened by Agnes-U 0
Owner
0101 Solutions
We build Enterprise Grade Apps after carefully listening and analyzing each of your business needs. From Intelligent E-Commerce Systems, to health systems, etc.
0101 Solutions
GraphQL security auditing script with a focus on performing batch GraphQL queries and mutations

BatchQL BatchQL is a GraphQL security auditing script with a focus on performing batch GraphQL queries and mutations. This script is not complex, and

Assetnote 267 Dec 24, 2022
This is a graphql api build using ariadne python that serves a graphql-endpoint at port 3002 to perform language translation and identification using deep learning in python pytorch.

Language Translation and Identification this machine/deep learning api that will be served as a graphql-api using ariadne, to perform the following ta

crispengari 2 Dec 30, 2021
MGE-GraphQL is a Python library for building GraphQL mutations fast and easily

MGE-GraphQL Introduction MGE-GraphQL is a Python library for building GraphQL mutations fast and easily. Data Validations: A similar data validation w

MGE Software 4 Apr 23, 2022
A Python 3.6+ port of the GraphQL.js reference implementation of GraphQL.

GraphQL-core 3 GraphQL-core 3 is a Python 3.6+ port of GraphQL.js, the JavaScript reference implementation for GraphQL, a query language for APIs crea

GraphQL Python 458 Dec 13, 2022
Django registration and authentication with GraphQL.

Django GraphQL Auth Django registration and authentication with GraphQL. Demo About Abstract all the basic logic of handling user accounts out of your

pedrobern 301 Dec 9, 2022
Django Project with Rest and Graphql API's

Django-Rest-and-Graphql # 1. Django Project Setup With virtual environment: mkdir {project_name}. To install virtual Environment sudo apt-get install

Shubham Agrawal 5 Nov 22, 2022
Integrate GraphQL into your Django project.

Graphene-Django A Django integration for Graphene. ?? Join the community on Slack Documentation Visit the documentation to get started! Quickstart For

GraphQL Python 4k Dec 31, 2022
Django GraphQL To Do List Application

Django GraphQL Simple ToDo HOW TO RUN just run the following instructions: python -m venv venv pip install -r requirements.txt source venv/bin/activat

pedram shahsafi 1 Nov 13, 2021
Django GraphQL User Management

Django GraphQL User Management An app that explores User management with GraphQL using Graphene in Django. Topics covered: Login. Log Out. Authenticat

0101 Solutions 4 Feb 22, 2022
GraphQL is a query language and execution engine tied to any backend service.

GraphQL The GraphQL specification is edited in the markdown files found in /spec the latest release of which is published at https://graphql.github.io

GraphQL 14k Jan 1, 2023