skillfed

starlette-graphene3

Use Graphene v3 on Starlette

starlette-graphene3 v0.6.0 247.8K downloads/30d#8,681 on PyPI106
Permissive license MIT DORMANT released

What it is and what it does

starlette-graphene3 is a thin ASGI adapter that lets you expose a Graphene v3 GraphQL schema through Starlette or FastAPI. It handles the plumbing of mounting a GraphQL endpoint, routing queries and mutations over HTTP, managing WebSocket connections for subscriptions, and optionally serving GraphiQL or GraphQL Playground for interactive schema exploration. The package wraps graphene, graphql-core, and starlette into a single mount point on your application.

You define your schema using Graphene's standard ObjectType, Query, Mutation, and Subscription classes, then pass it to GraphQLApp and mount it on your Starlette app. The package supports file uploads via the graphql-multipart-request-spec when python-multipart is installed. It is straightforward to integrate into existing Starlette or FastAPI projects but has been dormant since mid-2022, so it may not track the latest versions of its dependencies.

Use it for:

  • Add a GraphQL API endpoint to an existing Starlette or FastAPI web application without writing ASGI boilerplate.
  • Serve GraphiQL or GraphQL Playground alongside your schema for interactive query development and testing.
  • Handle GraphQL subscriptions over WebSocket for real-time data updates to clients.
  • Accept file uploads in GraphQL mutations using the multipart request specification.
  • Prototype or deploy a GraphQL backend quickly using Graphene's declarative schema syntax.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Mounts a GraphQL API built with Graphene v3 onto a Starlette or FastAPI application, handling queries, mutations, subscriptions, and file uploads over HTTP and WebSocket.

Yes, if you are already committed to Graphene v3 and Starlette/FastAPI and need a simple mount point. The package is stable and has no known vulnerabilities, but its dormant maintenance status (last release June 2022) means you should verify compatibility with your target versions of graphene and starlette before relying on it in production. For new projects, consider whether an actively maintained alternative better suits your timeline.

Install

starlette-graphene3 on PyPI

pip

pip install starlette-graphene3

uv

uv add starlette-graphene3

poetry

poetry add starlette-graphene3

Installing starlette-graphene3

Before you install

Low friction; pure Python wheel with three straightforward runtime dependencies. Maintenance is dormant—last release June 2022, last commit September 2023—so expect no active support, though the archived flag is false and the repository remains accessible.

License in practice

MIT license is permissive; you may use, modify, and distribute this package freely in commercial or private projects with minimal restrictions.

Quickstart

pip install starlette-graphene3

import graphene
from starlette.applications import Starlette
from starlette_graphene3 import GraphQLApp, make_graphiql_handler

class Query(graphene.ObjectType):
    hello = graphene.String()
    def resolve_hello(root, info):
        return "world"

app = Starlette()
schema = graphene.Schema(query=Query)
app.mount("/", GraphQLApp(schema, on_get=make_graphiql_handler()))

Requires graphene, graphql-core, and starlette as runtime dependencies; file uploading additionally requires python-multipart to be installed separately.

Verify before relying

  • Whether dormant maintenance (last release June 2022) poses compatibility risks with current Graphene or Starlette versions.
  • Whether the package's WebSocket subscription support is production-ready or has known limitations.
  • Performance characteristics under load or with large GraphQL schemas.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.7,<4.0)
Install friction low — pure-Python wheel
Runtime dependencies 3 — graphene, graphql-core, starlette
Maintenance dormant — 1,535 days since the last release
Last repo commit
First released
Downloads 247,821/month — #8,681 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: starlette_graphene3-0.6.0-py3-none-any.whl

Keywords: graphene, graphql, asgi, starlette

License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Internet :: WWW/HTTPTopic :: Software Development :: Libraries :: Python Modules

Tags

graphql api starlette fastapigraphene v3 asgi integrationgraphql subscriptions websocketgraphql file upload asgigraphene starlette mountgraphql playground graphiql
graphql-asgistarlette-integration

More Python Modules packages