pypi strawberry-graphql 0.267.0
🍓 0.267.0

latest releases: 0.281.0, 0.280.0, 0.279.0...
3 months ago

This release adds support to use strawberry.Parent with future annotations.

For example, the following code will now work as intended:

from __future__ import annotations


def get_full_name(user: strawberry.Parent[User]) -> str:
    return f"{user.first_name} {user.last_name}"


@strawberry.type
class User:
    first_name: str
    last_name: str
    full_name: str = strawberry.field(resolver=get_full_name)


@strawberry.type
class Query:
    @strawberry.field
    def user(self) -> User:
        return User(first_name="John", last_name="Doe")


schema = strawberry.Schema(query=Query)

Or even when not using future annotations, but delaying the evaluation of User, like:

# Note the User being delayed by passing it as a string
def get_full_name(user: strawberry.Parent["User"]) -> str:
    return f"{user.first_name} {user.last_name}"


@strawberry.type
class User:
    first_name: str
    last_name: str
    full_name: str = strawberry.field(resolver=get_full_name)


@strawberry.type
class Query:
    @strawberry.field
    def user(self) -> User:
        return User(first_name="John", last_name="Doe")


schema = strawberry.Schema(query=Query)

Releases contributed by @bellini666 via #3851

Don't miss a new strawberry-graphql release

NewReleases is sending notifications on new releases.