Strawberry is a developer friendly GraphQL library for Python, designed for modern development.

Get Started
import strawberry
@strawberry.type
class Song:
id: strawberry.ID
title: str
@strawberry.type
class Query:
@strawberry.field
def song(self, id: strawberry.ID) -> Song:
return Song(id=id, title="Strawberry Fields Forever")

Modern Python, modern features

  • Type hints

    Strawberry leverages Python type hints to provide a great developer experience while creating GraphQL Libraries.

  • Async Support

    Strawberry supports async/await out of the box, allowing you to write your resolvers in a non-blocking way.

  • Extensible

    Strawberry has support for schema and field extensions, allowing you to extend the schema with custom logic.

  • Community

    Strawberry is backed by a great community, with a lot of people willing to help you out.

  • Generics

    Strawberry supports generics, allowing you to create reusable types that can be used in multiple places.

  • Federation

    Strawberry supports Federation, allowing you to create a federated GraphQL schema.

  • Dataloaders

    Strawberry comes with support for dataloaders, allowing you to batch multiple queries into a single one.

  • Integrations

    Strawberry has support for multiple integrations, allowing you to use it with your favorite web framework.

Discover the sponsors that make Strawberry possible.

More than 245,000 downloads last week.

Become a sponsor