Skip to main content

Modelresolvers structures your GraphQL project by feature instead of operation type such as query and mutation to manage it easier

Project description

modelresolvers

modelresolvers is a python grapqhl package(inspired by type-graphql) on top of strawberry to structure your project by feature(model) instead of operation type(mutation and query) to manage it easier.

Requirement

python3.10 and above

Install by the following command

pip install modelresolvers

Documentation: https://cikay.github.io/modelresolvers/

Examples

Put the following example to main.py

import strawberry
from modelresolvers import ModelResolvers, Schema


user_resolvers = ModelResolvers()


@strawberry.type
class User:
    firstname: str
    lastname: str


users = [
    User(firstname="John", lastname="Doe"),
    User(firstname="Jahe", lastname="Doe"),
]


@user_resolvers.query(name="user")
def user() -> User:
    return users[0]


@user_resolvers.mutation(name="add_user")
def add_user(firstname: str, lastname: str) -> User:
    user = User(firstname=firstname, lastname=lastname)
    users.append(user)
    return user


schema = Schema(models_resolvers=[user_resolvers]).strawberry_schema

Run strawberry server main

Go to http://0.0.0.0:8000/graphql and try your mutations and queries.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

modelresolvers-0.2.2.tar.gz (2.5 kB view hashes)

Uploaded Source

Built Distribution

modelresolvers-0.2.2-py3-none-any.whl (3.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page