跳转到主要内容

用于创建GraphQL API的库

项目描述

草莓 GraphQL

基于数据类的 Python GraphQL 库

CircleCI Discord PyPI

安装(快速入门)

快速入门方法提供了一个服务器和 CLI 以快速开始。使用以下命令安装:

pip install "strawberry-graphql[debug-server]"

入门指南

创建一个名为 app.py 的文件,并包含以下代码:

import strawberry


@strawberry.type
class User:
    name: str
    age: int


@strawberry.type
class Query:
    @strawberry.field
    def user(self) -> User:
        return User(name="Patrick", age=100)


schema = strawberry.Schema(query=Query)

这将创建一个 GraphQL 模式,定义一个 User 类型和一个单个查询字段 user,该字段将返回一个硬编码的用户。

要运行调试服务器,请运行以下命令:

strawberry server app

通过单击以下链接打开调试服务器: http://0.0.0.0:8000/graphql

这将打开 GraphiQL,您可以在其中测试 API。

类型检查

Strawberry 内置了一个 mypy 插件,可启用对您的 GraphQL 模式的静态类型检查。要启用它,请将以下行添加到您的 mypy.ini 配置文件中:

[mypy]
plugins = strawberry.ext.mypy_plugin

Django 集成

提供了一个 Django 视图,用于将 GraphQL 端点添加到您的应用程序中。

  1. 将应用程序添加到您的 INSTALLED_APPS 中。
INSTALLED_APPS = [
    ...,  # your other apps
    "strawberry.django",
]
  1. 将视图添加到您的 urls.py 文件中。
from strawberry.django.views import GraphQLView
from .schema import schema

urlpatterns = [
    ...,
    path("graphql", GraphQLView.as_view(schema=schema)),
]

WebSockets

要支持通过 WebSockets 进行 graphql Subscriptions,您需要一个启用 WebSocket 的服务器。可以通过以下命令使调试服务器支持 WebSocket:

pip install 'strawberry-graphql[debug-server]'
pip install 'uvicorn[standard]'

示例

贡献

我们使用 poetry 来管理依赖项,要开始,请按照以下步骤操作:

git clone https://github.com/strawberry-graphql/strawberry
cd strawberry
poetry install --with integrations
poetry run pytest

有关所有其他详细信息,请参阅贡献页面

预提交

我们为 pre-commit 提供了配置,要添加钩子,请运行以下命令:

pre-commit install

链接

许可

本项目中的代码根据 MIT 许可证授权。有关更多信息,请参阅 LICENSE

Recent Activity

项目详情


发布历史 发布通知 | RSS 源

下载文件

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

源代码分发

strawberry_graphql-0.243.1.tar.gz (210.7 kB 查看哈希值)

上传时间 源代码

构建分发

strawberry_graphql-0.243.1-py3-none-any.whl (306.0 kB 查看哈希值)

上传时间 Python 3

支持者

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF赞助商 PingdomPingdom 监控 SentrySentry 错误日志 StatusPageStatusPage 状态页面