跳转到主要内容

通过Starlette实现的GraphQL服务器

项目描述

Starlette GraphQL

starlette-graphql包改编制成。

Starlette GraphQL实现,支持查询、变异和订阅。基于python-gql

要求

Python 3.7+

安装

pip install starlette-graphql

入门

# app.py
from gql import query, gql
from stargql import GraphQL

type_defs = gql("""
type Query {
    hello(name: String!): String!
}
""")


@query
async def hello(parent, info, name: str) -> str:
    return name


app = GraphQL(type_defs=type_defs)

使用uvicorn运行应用程序。

uvicorn app:app --reload

上传文件

import uvicorn
from gql import gql, mutate
from stargql import GraphQL

type_defs = gql("""
 scalar Upload
 
 type File {
    filename: String!
  }

  type Query {
    uploads: [File]
  }

  type Mutation {
    singleUpload(file: Upload!): File!
    multiUpload(files: [Upload!]!): [File!]!
  }
""")


@mutate
def single_upload(parent, info, file):
    return file


@mutate
def multi_upload(parent, info, files):
    return files


app = GraphQL(type_defs=type_defs)


if __name__ == '__main__':
    uvicorn.run(app, port=8080)

订阅

有关订阅的更多信息,请参阅gql-subscriptions

Apollo Federation

示例

有关订阅的更多信息,请参阅Apollo Federation

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定要选择哪个,请了解有关安装软件包的更多信息。

源分布

starlette-graphql-zifulu-0.0.3.tar.gz (7.6 kB 查看散列)

上传时间:

构建分布

starlette_graphql_zifulu-0.0.3-py3-none-any.whl (7.8 kB 查看哈希值)

上传时间 Python 3

由以下支持