Ariadne is a Python library for implementing GraphQL servers.
Project description
Ariadne
Ariadne is a Python library for implementing GraphQL servers, inspired by Apollo Server and built with GraphQL-core-next.
The library already implements enough features to enable developers to build functional GraphQL APIs. It is also being dogfooded internally on a number of projects.
Documentation is available here.
Installation
Ariadne can be installed with pip:
pip install ariadne
Quickstart
The following example creates an API defining Person
type and single query field people
returning a list of two persons. It also starts a local dev server with GraphQL Playground available on the http://127.0.0.1:8888
address.
from ariadne import ResolverMap, gql, start_simple_server
# Define types using Schema Definition Language (https://graphql.org/learn/schema/)
# Wrapping string in gql function provides validation and better error traceback
type_defs = gql("""
type Query {
people: [Person!]!
}
type Person {
firstName: String
lastName: String
age: Int
fullName: String
}
""")
# Map resolver functions to type fields using ResolverMap
query = ResolverMap("Query")
# Resolvers are simple python functions
@query.field("people")
def resolve_people(*_):
return [
{"firstName": "John", "lastName": "Doe", "age": 21},
{"firstName": "Bob", "lastName": "Boberson", "age": 24},
]
person = ResolverMap("Person")
@person.field("fullname")
def resolve_person_fullname(person, *_):
return "%s %s" % (person["firstName"], person["lastName"])
# Create and run dev server that provides api browser
start_simple_server(type_defs, [query, person]) # Visit http://127.0.0.1:8888 to see API browser!
For more guides and examples, please see the documentation.
Contributing
We are welcoming contributions to Ariadne! If you've found a bug or issue, or if you have any questions or feedback, feel free to use GitHub issues.
For guidance and instructions, please see CONTRIBUTING.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for ariadne-0.2.0b1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b1945538024bb4c23bb4a5699911fa11be4e54e29c82a40b0ab2b2dbe343a06 |
|
MD5 | 376f85d897442e1c583196df02455363 |
|
BLAKE2b-256 | 6b7fbbb15e3386a9118dbb889fd280acc90f5e2b2f6a5b6e59fd8c2fb2e9525d |