Skip to main content

GraphQL Server via Starlette

Project description

Starlette GraphQL

starlette-graphql包改编制成。

The starlette GraphQL implement, which support query, mutate and subscription. Based on python-gql.

Requirement

Python 3.7+

Installation

pip install starlette-graphql

Getting started

# 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)

Use uvicorn to run app.

uvicorn app:app --reload

Upload File

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)

Subscription

For more about subscription, please see gql-subscriptions.

Apollo Federation

Example

For more abount subscription, please see Apollo Federation

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

starlette-graphql-zifulu-0.0.3.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

starlette_graphql_zifulu-0.0.3-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file starlette-graphql-zifulu-0.0.3.tar.gz.

File metadata

  • Download URL: starlette-graphql-zifulu-0.0.3.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for starlette-graphql-zifulu-0.0.3.tar.gz
Algorithm Hash digest
SHA256 20d1959a1ef5c4ef707219a8e3616ffd55e2c50721859bc4665ad616f3c8b09e
MD5 423790279dac59b05b7544331f19e926
BLAKE2b-256 c74b0cf215a97748a695680b384f9ddaa8f6d6fd14e4285ebc43ca0e8a02604b

See more details on using hashes here.

File details

Details for the file starlette_graphql_zifulu-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: starlette_graphql_zifulu-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.1 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for starlette_graphql_zifulu-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7fb19faf2b90156f2a10cd0bcdfab9fdc9798d060cd1cca39f8c598f2213346b
MD5 7aea24c8e1eba254718c2fd577b63d8a
BLAKE2b-256 3f7a483a5938bbbe9968b9fc2d5cd5a759f63c544906578f3fe19013cfae199f

See more details on using hashes here.

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