python的graphql框架
graphene的Python项目详细描述
我们正在寻找贡献者!请检查 ROADMAP 看看你能帮上什么忙。
Graphene
简介
Graphene是 快速轻松地构建graphql模式/类型。
- 易于使用:graphene帮助您在python中使用graphql 努力。
- 中继:石墨烯内置中继支持。
- 数据不可知:石墨烯支持任何类型的数据源:sql (django、sqlalchemy)、nosql、自定义python对象等,我们相信 通过提供一个完整的api,你可以在任何地方插入石墨烯。 您的数据通过graphql存活并使您的数据可用。
集成
石墨烯具有多种不同框架的集成:
integration | Package |
---|---|
Django | graphene-django |
SQLAlchemy | graphene-sqlalchemy |
Google App Engine | graphene-gae |
Peewee | In progress (Tracking Issue) |
此外,graphene与graphql规范完全兼容,可以工作 与所有graphql客户端无缝连接,例如 Relay, Apollo和 gql。
安装
要安装石墨烯,只需在shell中运行此命令
pip install "graphene>=2.0"
2.0升级指南
请阅读UPGRADE-v2.0.md来学习如何 升级。
示例
下面是一个让您开始的示例:
classQuery(graphene.ObjectType):hello=graphene.String(description='A typical hello world')defresolve_hello(self,info):return'World'schema=graphene.Schema(query=Query)
然后查询graphene.Schema非常简单:
query=''' query SayHello { hello } '''result=schema.execute(query)
如果你想了解更多,你也可以检查以下 examples:
- basic模式:Starwars example
- 中继架构:Starwars Relay example
文件
有关其他资源的文档和链接,请访问 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(“verbose”)标志以获取更详细的测试 输出。对于更详细的输出,请使用-vv。查看 pytest documentation了解更多 选项和测试运行控件。
您还可以使用以下命令运行基准:
py.test graphene --benchmark-only
graphene支持多种版本的python。以确保改变 不要破坏与这些版本的兼容性,我们使用tox来 为每个python版本创建virtualenvs并用它运行测试 版本。对^{tt6}中定义的所有python版本运行$ 配置文件,只需运行:
tox
如果希望针对^{tt6}中定义的特定版本运行$ 文件:
tox -e py36
tox只能使用安装在 系统。创建拉取请求时,travis还将运行 同样的测试并报告结果,因此不需要潜在的 贡献者尝试在他们的 提前拥有系统。我们很感激你们的邀请 使石墨烯更加稳定和有用!