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.