Skip to main content

Ariadne

Documentation codecov PyPI - Version PyPI - Downloads PyPI - Python Version


Ariadne

Ariadne is a Python library for implementing GraphQL servers.

  • Schema-first: Ariadne enables Python developers to use schema-first approach to the API implementation. This is the leading approach used by the GraphQL community and supported by dozens of frontend and backend developer tools, examples, and learning resources. Ariadne makes all of this immediately available to you and other members of your team.
  • Simple: Ariadne offers small, consistent and easy to memorize API that lets developers focus on business problems, not the boilerplate.
  • Open: Ariadne was designed to be modular and open for customization. If you are missing or unhappy with something, extend or easily swap with your own.

Documentation is available here.

Ariadne ecosystem

Repository Description
Ariadne Python library for implementing GraphQL servers using a schema-first approach.
Ariadne codegen GraphQL client code generator for Python.
Ariadne auth A collection of authentication and authorization utilities for Ariadne.
Ariadne lambda Deploy Ariadne GraphQL applications as AWS Lambda functions.
Ariadne GraphQL proxy A GraphQL proxy for Ariadne that allows you to combine multiple GraphQL APIs into a single API.

Features

  • Simple, quick to learn and easy to memorize API.
  • Queries, mutations and input types.
  • Asynchronous resolvers and query execution.
  • Subscriptions (async and sync generators, with customizable handlers).
  • Custom scalars, enums and schema directives.
  • Unions and interfaces.
  • File uploads.
  • Defining schema using SDL strings.
  • Loading schema from .graphql, .gql, and .graphqls files.
  • ASGI and WSGI support, with integrations for Django, FastAPI, Flask, and Starlette.
  • Opt-in automatic resolvers mapping between camelCase123 and snake_case_123.
  • Automated integration with SQLAlchemy 2.0 for zero-boilerplate resolvers and N+1 prevention.
  • OpenTelemetry extension for API monitoring.
  • Built-in GraphiQL explorer for development and testing.
  • GraphQL syntax validation via gql() helper function.
  • No global state or object registry, support for multiple GraphQL APIs in same codebase with explicit type reuse.
  • Support for Apollo Federation.

Installation

Ariadne can be installed with pip:

pip install ariadne

Ariadne requires Python 3.10 or higher (up to 3.14).

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 GraphiQL available on the http://127.0.0.1:8000 address.

Start by installing uvicorn, an ASGI server we will use to serve the API:

pip install uvicorn

Then create an example.py file for your example application:

from ariadne import ObjectType, QueryType, gql, make_executable_schema
from ariadne.asgi import GraphQL

# 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 Query fields using QueryType
query = QueryType()

# Resolvers are simple python functions
@query.field("people")
def resolve_people(*_):
    return [
        {"firstName": "John", "lastName": "Doe", "age": 21},
        {"firstName": "Bob", "lastName": "Boberson", "age": 24},
    ]


# Map resolver functions to custom type fields using ObjectType
person = ObjectType("Person")

@person.field("fullName")
def resolve_person_fullname(person, *_):
    return "%s %s" % (person["firstName"], person["lastName"])

# Create executable GraphQL schema
schema = make_executable_schema(type_defs, query, person)

# Create an ASGI app using the schema, running in debug mode
app = GraphQL(schema, debug=True)

Finally run the server:

uvicorn example:app

For more guides and examples, please see the documentation.

Versioning policy

ariadne follows Semantic Versioning.

Contributing

We are welcoming contributions to Ariadne! If you've found a bug or issue, feel free to use GitHub issues. If you have any questions or feedback, don't hesitate to catch us on GitHub discussions.

For guidance and instructions, please see CONTRIBUTING.md.

Website and the docs have their own GitHub repository: mirumee/ariadne-website

Creators

Ariadne GraphQL is brought to you by Mirumee.

Mirumee

Mirumee is an Agent-Native Engineering Lab with 15+ years of experience in delivering technologies. We provide the architectural expertise needed to build critical systems for Commerce and MedTech. Scaling a complex platform? Consult us.

Created with ❤️ by Mirumee

ariadne@mirumee.com

Release files for ariadne 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ariadne 1.1.0
File Size Uploaded
ariadne-1.1.0.tar.gz 90.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ariadne 1.1.0
File Interpreter ABI Platform
ariadne-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 218.3 kB

Release files / ariadne-1.1.0.tar.gz

Download URL ariadne-1.1.0.tar.gz
Size 90.7 kB
Tags Source
SHA-256 checksum
How to use checksums
847b5b399e56e4781f851b4ee3f3fd443d6c379e64a4828a792e8264b597c9e4
BLAKE2b-256 checksum
How to use checksums
c8e6731c5ae5546893a2220f4a5fa635124033b2f5123d3720b978b85fdbd054
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 15, 2026.

Transparency log

Release files / ariadne-1.1.0-py3-none-any.whl

Download URL ariadne-1.1.0-py3-none-any.whl
Size 127.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1f5ee6fa0a2fe855b7587cccb8a5d24ff8c982789b15d860aed58c509aad9b48
BLAKE2b-256 checksum
How to use checksums
f648e0bd1918ef56b1a570dfc1882a036286bf4b3f13e5a659a8d9e16d888c69
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.29.0

2 release files

0.27.1

2 release files

0.27.0

2 release files

0.26.2

2 release files

0.26.1

2 release files

0.26.0

2 release files

0.25.2

2 release files

0.24.0

2 release files

0.23.0

2 release files

0.22

2 release files

0.21

2 release files

0.20.1

2 release files

0.20.0

2 release files

0.19.1

2 release files

0.19.0

2 release files

0.18.1

2 release files

0.18.0

2 release files

0.17.0

2 release files

0.16.1

2 release files

0.15.1

2 release files

0.15.0

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

1 release file

0.0.10

2 release files

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page