starlette-graphene3
Use Graphene v3 on Starlette
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-graphene3uv
uv add starlette-graphene3poetry
poetry add starlette-graphene3Installing 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
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
starletteStarlette is a lightweight ASGI framework for…
permissive · top 100 on PyPI
ariadneAriadne is a Python library for building…
permissive · top 5,000 on PyPI
graphene-file-uploadAdds file upload support to GraphQL mutations…
permissive · top 15,000 on PyPI
graphene-djangoGraphene-Django bridges Django models and…
permissive · top 5,000 on PyPI
graphql-serverGraphQL-Server provides helper functions to…
permissive · top 15,000 on PyPI
grapheneGraphene is a Python library for building…
permissive · top 1,000 on PyPI
graphene-federationAdds Apollo Federation support to Graphene…
permissive · top 15,000 on PyPI
django-graphql-jwtAdds JSON Web Token (JWT) authentication to…
permissive · top 15,000 on PyPI
starlette-compressMiddleware for Starlette and FastAPI that…
permissive · top 5,000 on PyPI
starlette-adminStarlette-admin provides a ready-made admin…
permissive · top 15,000 on PyPI