> ## Documentation Index
> Fetch the complete documentation index at: https://fastql.vachagan.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Web framework integrations

> Mount one FastQL schema in ASGI, Starlette, FastAPI, Flask, or Django.

FastQL keeps schema construction and execution independent from HTTP. Production
applications add one optional adapter that converts the framework request into
the shared FastQL GraphQL-over-HTTP contract.

| Integration     | Install                                                          | Public entry point            |
| --------------- | ---------------------------------------------------------------- | ----------------------------- |
| Generic ASGI    | `pip install mygenx-fastql` or `pip install mygenx-fastql[asgi]` | `GraphQLASGI`                 |
| Starlette       | `pip install mygenx-fastql[starlette]`                           | `create_starlette_router`     |
| FastAPI         | `pip install mygenx-fastql[fastapi]`                             | `create_fastapi_router`       |
| Flask           | `pip install mygenx-fastql[flask]`                               | `create_flask_blueprint`      |
| Django          | `pip install mygenx-fastql[django]`                              | `create_django_urlpatterns`   |
| AIOHTTP         | `pip install mygenx-fastql[aiohttp]`                             | `create_aiohttp_app`          |
| Sanic           | `pip install mygenx-fastql[sanic]`                               | `create_sanic_blueprint`      |
| Litestar        | `pip install mygenx-fastql[litestar]`                            | `create_litestar_router`      |
| Quart           | `pip install mygenx-fastql[quart]`                               | `create_quart_blueprint`      |
| Django Channels | `pip install mygenx-fastql[channels]`                            | `create_channels_application` |

Use `pip install mygenx-fastql[all]` only for development or applications that truly
host every adapter. An individual extra does not install unrelated frameworks.

All adapters use the same options: `path`, `context_factory`, `root_value`,
`graphiql`, `schema_path`, `introspection_path`, and `execution_options`.
Routing objects stay native to each framework, so middleware, authentication,
dependencies, URL prefixes, and deployment configuration remain authoritative.

## Compatibility

FastQL supports Python 3.11 and newer. The declared adapter ranges are Starlette
`>=0.50,<2`, FastAPI `>=0.129,<1`, Flask `>=3.1,<4`, and Django `>=5.2,<6`.
FastAPI selects its compatible Starlette dependency; applications should not pin
a conflicting Starlette version.

<CardGroup cols={2}>
  <Card title="ASGI, Starlette, and FastAPI" href="/integrations/asgi-and-api-frameworks" icon="server" />

  <Card title="Flask and Django" href="/integrations/flask-and-django" icon="window" />

  <Card title="AIOHTTP, Sanic, Litestar, Quart & Channels" href="/integrations/additional-frameworks" icon="layer-group" />

  <Card title="HTTP context" href="/integrations/context" icon="brackets-curly" />

  <Card title="Protocol contract" href="/integrations/http-contract" icon="code" />
</CardGroup>
