Strawberry GraphQL
strawberry.rocks
What it is
Strawberry GraphQL is a free, open-source Python library for creating GraphQL APIs. It uses Python type hints to define schemas and support a developer-oriented workflow. Async/await allows resolvers to run without blocking, while schema and field extensions provide places for custom logic. Generics support reusable types, and federated GraphQL schemas are supported. Built-in dataloaders can batch multiple queries into one. Documentation lists integrations for Django, Channels, FastAPI, Flask, Quart, Sanic, Chalice, Starlette, Litestar and AIOHTTP, while noting that the integration table may not be current. Installation uses pip and requires Python 3.10 or later. Strawberry is MIT licensed and intended for self-hosted deployment. Authentication is handled by the web framework; authorization uses Permissions classes. API explorer, client code generation and operation testing are listed. Enterprise support is available through Farbun.
Spec sheet
- What it does
- Strawberry is a developer-friendly GraphQL library for Python for creating GraphQL APIs.Read 3 Oct 2026 · strawberry.rocks
- Support
- The project is open source and maintained by a small developer team; enterprise support is available through Farbun.Read 3 Oct 2026 · strawberry.rocks
- License
- The repository states that Strawberry is licensed under the MIT license.Read 3 Oct 2026 · github.com
- Async
- It supports async/await so resolvers can run in a non-blocking way.Read 3 Oct 2026 · strawberry.rocks
- Authentication and authorization
- The guide says authentication is handled by the web framework and authorization in Strawberry uses Permissions classes.Read 3 Oct 2026 · strawberry.rocks
- Data loading
- Built-in dataloader support batches multiple queries into one.Read 3 Oct 2026 · strawberry.rocks
- Extensibility
- Schema and field extensions let developers add custom logic.Read 3 Oct 2026 · strawberry.rocks
- Federation
- It supports creating a federated GraphQL schema.Read 3 Oct 2026 · strawberry.rocks
- Framework integrations
- The documentation lists integrations including Django, Channels, FastAPI, Flask, Quart, Sanic, Chalice, Starlette, Litestar, and AIOHTTP, while warning that its integration table is not up to date.Read 3 Oct 2026 · strawberry.rocks
- Generics
- It supports generics for reusable types.Read 3 Oct 2026 · strawberry.rocks
- Installation and runtime
- The getting-started guide installs Strawberry with pip and says it requires Python 3.10 or later.Read 3 Oct 2026 · strawberry.rocks
- Security contact
- The repository asks users to report sensitive security bugs directly to [email protected] instead of using the issue tracker.Read 3 Oct 2026 · github.com
- Type hints
- It uses Python type hints to define GraphQL schemas and provide a developer experience for creating GraphQL libraries.Read 3 Oct 2026 · strawberry.rocks
Plans and prices
Strong points and limits
Strong points
- Free MIT-licensed open-source library
- Python type hints define GraphQL schemas
- Async/await support for resolvers
- Built-in dataloader batching
- Federated schemas and extensions supported
Limits
- Requires Python 3.10 or later
- Integration table may not be up to date
- Self-hosted deployment required
- Maintained by a small developer team
Who it suits
It suits Python developers building GraphQL APIs who want type-hint schemas, asynchronous resolvers, extensibility and federation. It is intended for self-hosted deployments and supports listed Python web frameworks.
Verdict
Strawberry GraphQL covers schema definition, asynchronous resolvers, batching, extensions and federation in a free Python library. Check the framework integration documentation and self-hosting requirements before adopting it.
Where Specifiction places it
- GraphQL Tools#21 of 327.1