跳转到主要内容

Python的GraphQL框架

项目描述

加入Slack社区

我们正在寻找贡献者!请查看路线图了解您如何提供帮助

介绍

Graphene是一个专为快速构建GraphQL模式/类型的Python库。

  • 易于使用:Graphene帮助您在不费力的情况下使用Python中的GraphQL。

  • Relay:Graphene内置了对Relay的支持。

  • 数据无关性:Graphene支持任何类型的数据源:SQL(Django,SQLAlchemy),NoSQL,自定义Python对象等。我们相信通过提供完整的API,您可以将Graphene连接到任何数据存储位置,并通过GraphQL提供数据。

集成

Graphene与多个框架有多个集成

集成

Django

graphene-django

SQLAlchemy

graphene-sqlalchemy

此外,Graphene完全兼容GraphQL规范,可以无缝地与所有GraphQL客户端一起工作,例如RelayApollogql

安装

要安装graphene,只需在您的shell中运行此命令

pip install "graphene>=3.0"

示例

这里有一个示例,帮助您开始

import graphene

class Query(graphene.ObjectType):
    hello = graphene.String(description='A typical hello world')

    def resolve_hello(self, info):
        return 'World'

schema = graphene.Schema(query=Query)

然后查询graphene.Schema就像这样简单

query = '''
    query SayHello {
      hello
    }
'''
result = schema.execute(query)

如果您想了解更多,还可以查看以下示例

文档

文档和附加资源链接可在https://docs.graphene-python.org/en/latest/找到

贡献

在克隆此仓库后,创建一个virtualenv并确保通过运行以下命令安装依赖项

virtualenv venv
source venv/bin/activate
pip install -e ".[test]"

编写良好的测试并保持良好的测试覆盖率对于此项目很重要。在开发过程中,使用以下命令运行新的和现有的测试

py.test graphene/relay/tests/test_node.py # Single file
py.test graphene/relay # All tests in directory

如果您在代码中添加了断点进行调试,请添加-s标志。添加-v(详细)标志以获取更详细的测试输出。要获取更多详细输出,请使用-vv。有关更多选项和测试运行控制,请参阅pytest文档

您还可以使用以下命令运行基准测试

py.test graphene --benchmark-only

Graphene支持Python的多个版本。为了确保更改不会破坏与这些版本中的任何版本的兼容性,我们使用tox为每个Python版本创建虚拟env,并使用该版本运行测试。要针对tox.ini配置文件中定义的所有Python版本运行测试,只需运行

tox

如果您想针对tox.ini文件中定义的特定版本运行

tox -e py36

Tox只能使用系统上安装的Python版本。当您创建pull request时,Travis也会运行相同的测试并报告结果,因此潜在的贡献者无需提前在自己的系统上尝试安装每个版本的Python。我们感谢大家提出问题和pull request,以使graphene更加稳定和有用!

构建文档

文档使用优秀的Sphinx和自定义主题生成。

通过运行以下命令生成HTML版本的文档

make docs

项目详情


版本历史 发布通知 | RSS源

下载文件

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

源分布

graphene-3.3.tar.gz (57.9 kB 查看散列值)

上传于 来源

构建发行版

graphene-3.3-py2.py3-none-any.whl (128.2 kB 查看哈希值)

上传于 Python 2 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面