用于创建GraphQL API的库
项目描述
草莓 GraphQL
基于数据类的 Python GraphQL 库
安装(快速入门)
快速入门方法提供了一个服务器和 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 端点添加到您的应用程序中。
- 将应用程序添加到您的
INSTALLED_APPS
中。
INSTALLED_APPS = [
..., # your other apps
"strawberry.django",
]
- 将视图添加到您的
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]'
示例
- 关于如何使用 Strawberry 的各种示例
- 使用 Starlette、SQLAlchemy、Typescript 代码生成器和 Next.js 的全栈示例
- Quart + Strawberry 教程
贡献
我们使用 poetry 来管理依赖项,要开始,请按照以下步骤操作:
git clone https://github.com/strawberry-graphql/strawberry
cd strawberry
poetry install --with integrations
poetry run pytest
有关所有其他详细信息,请参阅贡献页面
预提交
我们为 pre-commit 提供了配置,要添加钩子,请运行以下命令:
pre-commit install
链接
- 项目主页: https://strawberry.rocks
- 存储库: https://github.com/strawberry-graphql/strawberry
- 问题跟踪器: https://github.com/strawberry-graphql/strawberry/issues
- 在遇到敏感错误,如安全漏洞的情况下,请直接联系 patrick.arminio@gmail.com,而不是使用问题跟踪器。我们重视您为提高本项目的安全和隐私所付出的努力!
许可
本项目中的代码根据 MIT 许可证授权。有关更多信息,请参阅 LICENSE。
项目详情
下载文件
下载适用于您平台的应用程序文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
strawberry_graphql-0.243.1.tar.gz (210.7 kB 查看哈希值)
构建分发
strawberry_graphql-0.243.1-py3-none-any.whl (306.0 kB 查看哈希值)