Python的GraphQL框架
项目描述
我们正在寻找贡献者!请查看路线图了解您如何提供帮助
介绍
Graphene是一个专为快速构建GraphQL模式/类型的Python库。
易于使用:Graphene帮助您在不费力的情况下使用Python中的GraphQL。
Relay:Graphene内置了对Relay的支持。
数据无关性:Graphene支持任何类型的数据源:SQL(Django,SQLAlchemy),NoSQL,自定义Python对象等。我们相信通过提供完整的API,您可以将Graphene连接到任何数据存储位置,并通过GraphQL提供数据。
集成
Graphene与多个框架有多个集成
集成 |
包 |
---|---|
Django |
|
SQLAlchemy |
此外,Graphene完全兼容GraphQL规范,可以无缝地与所有GraphQL客户端一起工作,例如Relay,Apollo和gql。
安装
要安装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
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。