跳转到主要内容

Python的GraphQL客户端

项目描述

GQL

这是一个适用于Python 3.7+的GraphQL客户端。与graphenegraphql-coregraphql-js以及任何其他符合规范的GraphQL实现兼容。

GQL架构灵感来源于React-RelayApollo-Client

GitHub-Actions pyversion pypi Anaconda-Server Badge codecov

文档

关于GQL的完整文档可以在gql.readthedocs.io找到。

特性

安装

您可以使用 pip 安装 GQL 以及所有可选依赖项

# Quotes may be required on certain shells such as zsh.
pip install "gql[all]"

注意:有关使用更少额外依赖项安装 GQL 的说明,请参阅文档,这取决于您想要使用的传输方式或替代安装方法。

使用方法

基本用法

from gql import gql, Client
from gql.transport.aiohttp import AIOHTTPTransport

# Select your transport with a defined url endpoint
transport = AIOHTTPTransport(url="https://countries.trevorblades.com/")

# Create a GraphQL client using the defined transport
client = Client(transport=transport, fetch_schema_from_transport=True)

# Provide a GraphQL query
query = gql(
    """
    query getContinents {
      continents {
        code
        name
      }
    }
"""
)

# Execute the query on the transport
result = client.execute(query)
print(result)

执行上述代码应输出以下结果

$ python basic_example.py
{'continents': [{'code': 'AF', 'name': 'Africa'}, {'code': 'AN', 'name': 'Antarctica'}, {'code': 'AS', 'name': 'Asia'}, {'code': 'EU', 'name': 'Europe'}, {'code': 'NA', 'name': 'North America'}, {'code': 'OC', 'name': 'Oceania'}, {'code': 'SA', 'name': 'South America'}]}

警告:请注意,如果您正在运行 asyncio 事件循环,则此基本示例将无法工作。在某些 Python 环境中(例如使用 IPython 的 Jupyter),会为您创建 asyncio 事件循环。在这种情况下,您应使用异步使用示例

贡献

请参阅CONTRIBUTING.md

许可证

MIT 许可证

项目详情


下载文件

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

源分布

gql-3.5.0.tar.gz (179.9 kB 查看散列值)

上传时间

构建分布

gql-3.5.0-py2.py3-none-any.whl (74.0 kB 查看散列值)

上传时间 Python 2 Python 3

由以下提供支持

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