Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • A awesome-python
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 13
    • Issues 13
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 317
    • Merge requests 317
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Vinta Chen
  • awesome-python
  • Merge requests
  • !1736

Add Ariadne GraphQL library

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open Administrator requested to merge github/fork/andriykohut/patch-1 into master Mar 06, 2021
  • Overview 0
  • Commits 1
  • Pipelines 1
  • Changes 1

Created by: andriykohut

What is this Python project?

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

What's the difference between this Python project and similar ones?

Schema-first approach - unlike graphene the schema is defined explicitly and is not inferred from code, it's more light-weight and less opinionated, it has subscriptions, file uploads, tracing and other useful stuff built-in.

Example hello world app with starlette:

from ariadne import QueryType, make_executable_schema
from ariadne.asgi import GraphQL
from starlette.applications import Starlette

type_defs = """
    type Query {
        hello: String!
    }
"""

query = QueryType()


@query.field("hello")
def resolve_hello(*_):
    return "Hello world!"


# Create executable schema instance
schema = make_executable_schema(type_defs, query)

app = Starlette(debug=True)
app.mount("/graphql", GraphQL(schema, debug=True))

Here's a really nice into and justification from one of the authors: https://blog.mirumee.com/schema-first-graphql-the-road-less-travelled-cf0e50d5ccff

Anyone who agrees with this pull request could submit an Approve review to it.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/andriykohut/patch-1