Skip to main content

Ariadne contrib library for working with Django and GraphQL

Project description

Ariadne Extended

Ariadne comes with a few contrib modules to support integration with Django. This module acts as an additional Django contrib module to reduce some of the boilerplate when integrating with Django.

It copies and follows some of the conventions defined in Django Rest Framework, effort will be made to provide API compatibility with certain DRF extension modules that are relevant.

The overall goal is to provide often re-used modules and GrpahQL schema, so one doesn't have to re-create them per project.

Supported DRF modules

  • Pagination classes
  • Permissions classes
  • Serializer classes ( may not removed and made generic )
  • Throttling
  • django-filters filter backend

Supported Django versions

2.2.*, 3.0.*

ariadne_extended.graph_loader

auto schema, resolver and types loader

Searches for types and resolvers modules as well as any .graphql files defined within any installed Django application.

Once found they can be used to build the final schema and resolver solution for your ariadne application.

ariadne_extended.payload

Schema, types and resolvers for the graphql Payload interface.

Currently the FieldErrors are highly coupled to Django rest framework field validation exceptions.

ariadne_extended.cursor_pagination

Rename to relay_pagination maybe?

Contains the PageInfo graphql type and Connection interface for utilizing cursor based pagination.

TODO: Should we provide a input type for cursor pagination instead of just copying pagination args info paginate-able list fields??

ariadne_extended.filters

Filter backend interface to pass filter arguments to django-filter.

ariadne_extended.resolvers

ABC for Class Based Resolvers and model resolvers that utilize DRF serializers for saving data. This is likely to change in the future.

ariadne_extended.uuid

DRF UUID field scalar for use with models that may use a UUID as their primary key, or other UUID fields.

Contrib

django-waffle in ariadne_extended.contrib.waffle_graph

Adds resolvers, schema and types that can be utilized to query the any waffle flags, samples and switches.

Checklist

  • Get rid of dependency on DRF?
  • Investigate the need for a serializer ( nested data reliance? )
  • Organize code into multiple Django apps to select desired componentry
  • Documentation and examples
  • Better support of lists of enums when used with django-filters ( currently expects comma sep list string, not a list of enums from input field resolver )
  • License and make public
  • Deployment automation
  • Mixins are highly coupled to serializers, should they still be?

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ariadne-extended-0.1.9.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

ariadne_extended-0.1.9-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

File details

Details for the file ariadne-extended-0.1.9.tar.gz.

File metadata

  • Download URL: ariadne-extended-0.1.9.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.7.4 Darwin/19.4.0

File hashes

Hashes for ariadne-extended-0.1.9.tar.gz
Algorithm Hash digest
SHA256 a817b896230e41884f1ca4b3ac70e7d3f472207bd35c31b4b3430c5dfff199e9
MD5 78f0c111647e5ab2bd7abb2dcfb6b5b6
BLAKE2b-256 50db5e544a635ad259f5a4487720be24ec2295968c2fc99b4e3e52a5b9e36cbe

See more details on using hashes here.

File details

Details for the file ariadne_extended-0.1.9-py3-none-any.whl.

File metadata

File hashes

Hashes for ariadne_extended-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 8af4aa3df75bf432014e9231e4d3d86e7eebebb47db7f0f1649214b93fb8cab6
MD5 fe193ffefd4c4f87355dcdeb9f30b9bc
BLAKE2b-256 d44c802fd2a8840819079d1347b446b8380cdf465fbdeda5756d716e9c3b1d45

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page