python graphql客户端库

gql-next的Python项目详细描述


gql:python图形ql客户端库

Build StatusCoverage Status

简介

gql是一个graphql客户端python库,旨在帮助python应用程序生成graphql 在享受graphql带来的优势的同时调用api。

  • 强类型响应对象(在生成时动态创建以匹配查询)
  • query validation根据graphql服务器的模式检查代码的查询。

安装

只需从pypi安装:

pip install gql-next

然后转到项目文件夹并运行gql init

快速启动

gql通过将查询文件(默认情况下为**/*.graphql)解析到它们自己的python模块来工作,其中 一个以文件中定义的操作命名的类允许您进行该查询并获取 回应。

例如,给定以下文件get_film.graphql文件:

query GetFilm($id: ID!) {
  film(id: $id) {
    title
    director
  }
}

将创建一个get_film.py,定义一个GetFilm类:

# AUTOGENERATED file. Do not Change!fromtypingimportAny,Callable,Mapping,ListfromenumimportEnumfromdataclassesimportdataclassfromdataclasses_jsonimportdataclass_jsonfromgql.clientsimportClient,AsyncIOClient@dataclass_json@dataclassclassGetFilm:@dataclass_json@dataclassclassGetFilmData:@dataclass_json@dataclassclassFilm:title:strdirector:strfilm:Film=Nonedata:GetFilmData=Noneerrors:Any=None@classmethoddefexecute(cls,id:str,on_before_callback:Callable[[Mapping[str,str],Mapping[str,str]],None]=None)->GetFilm:...@classmethodasyncdefexecute_async(cls,id:str,on_before_callback:Callable[[Mapping[str,str],Mapping[str,str]],None]=None)->GetFilm:...

允许您进行GraphQL查询:

from.get_filmimportGetFilmresult=GetFilm.execute('meaning_of_life')film=result.data.film

重要提示:

  • graphql查询中定义的操作必须命名为,这样我们就可以命名相关的python类,然后您可以在代码中导入该类

工作原理

客户机

gql init

初始化项目以使用GQL作为客户端-编写.gql.json配置文件。

gql run

运行项目的文件并将graphql查询编译为python类型。

gql watch

在开发过程中有用。监听项目文件夹中的文件更改并持续 在GraphQL查询发生更改时生成它们。 这允许您:

  • 立即验证您所做的查询更改是否有效。
  • 在开发过程中,享受ide在graphql自动生成对象上的自动完成功能 as watch将在您更改查询时自动更新它们。

赞助商

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Frida Java windows的逆向工程   Java术语中的对象初始化   java在何处放置maven参数化junit输入xml文件   java如何在Swift中创建以日期为键、布尔值为值的字典/地图?   java Velocity动态属性访问   java Maven站点我如何找到它们?   java JavaFX按钮在显示阶段时显示为选中状态   文件io字符串方法java赋值   java为SOAP头生成证书   java Android更改EditText的setError弹出消息的背景色   java格式存储为字符串的数字   java Testcontainers+dbrider:无法清除表X,消息:启用自动提交时无法提交。,原因:无效   java程序应该可以运行,但仍然没有输出?   Java在列表末尾添加一个节点?   java类对象中的默认构造函数做什么?   java如何更快地从映射返回键和值?