Skip to main content

Generate HTML docs for your GraphQL API

Project description

Graphdoc - Generate docs for your GraphQL API

Graphdoc uses you GraphQL schema to generate an HTML page documenting your API. It works with Graphene and Ariadne and any other framework generating GraphQLSchema instances from the graphql-core package.

You can see an example of autogenerated docs using the SWAPI schema in this page

Installation

Install using pip:

pip install graphdoc

Usage

You can use graphdoc.to_doc to convert a GraphQLSchema or a string to an HTML with the docs.

Django and Graphene

# view.py
from django.http import HttpResponse
from graphene_django.views import GraphQLView
import graphdoc

def graphql_docs(request):
    html = graphdoc.to_doc(GraphQLView().schema)
    return HttpResponse(html, content_type='text/html')


# urls.py
from graphene_django.views import GraphQLView
from .views import graphql_docs

urlpatterns = [
    path('graphql', GraphQLView.as_view(), name='graphql_endpoint'),
    path('docs', graphql_docs, name='graphql_docs'),
]

FastAPI and Ariadne

# schema.py
from ariadne import load_schema_from_path

schema = load_schema_from_path("schema.graphql")


# main.py
from fastapi import FastAPI, Response
from schema import schema
import graphdoc

app = FastAPI()


@app.get("/docs")
async def graphql_docs():
    html = graphdoc.to_doc(schema)
    return Response(content=html, media_type="text/html")

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

graphdoc-0.2.2.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

graphdoc-0.2.2-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file graphdoc-0.2.2.tar.gz.

File metadata

  • Download URL: graphdoc-0.2.2.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.22.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.3

File hashes

Hashes for graphdoc-0.2.2.tar.gz
Algorithm Hash digest
SHA256 9f928b5e3b7d9451f9bfa672d0a7f8dda2c7a5043b9d6510892f048e48066ae8
MD5 79e8fb681a7f975bc5badda178debcd7
BLAKE2b-256 fab449a545128cd96613356073f667f0a48795cdf51a52258c82f2323f13ab7c

See more details on using hashes here.

File details

Details for the file graphdoc-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: graphdoc-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.22.0 setuptools/51.0.0 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.7.3

File hashes

Hashes for graphdoc-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5b51777756395b8d0c6e2e25ee0477d4070d67f94e8365838b893b22c1c12ec0
MD5 d9a0a64b820a70ddab0d2d5987a38ee3
BLAKE2b-256 410e1499724e1c96147ebe3b6bc7d0125ddba344e025a3cb6242e24d4105452c

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