/graphql-sqlalchemy

Generate GraphQL Schemas from your SQLAlchemy models

Primary LanguagePythonMIT LicenseMIT

graphql-sqlalchemy

PyPI version Unit Tests codecov Code Style

Generate GraphQL Schemas from your SQLAlchemy models

Install

pip install graphql-sqlalchemy

Usage

from ariadne.asgi import GraphQL
from fastapi import FastAPI
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, declarative_base
from graphql_sqlalchemy import build_schema

engine = create_engine('sqlite:///config.db')
Base = declarative_base()
Session = sessionmaker(bind=engine)

app = FastAPI()
session = Session()

schema = build_schema(Base)

app.mount("/graphql", GraphQL(schema, context_value=dict(session=session)))

Query

query {
    user(where: { _or: [{ id: { _gte: 5 } }, { name: { _like: "%bob%" } }] }) {
        id
        name
    }
    user_by_pk(id: 5) {
        createtime
    }
}