没有项目描述

PyQL的Python项目详细描述


python的graphql帮助程序。

CI状态:ci-status

模式定义

pyql为定义graphql模式提供了更好/更干净的语法。

使用pyql:

frompyqlimportSchemaschema=Schema()@schema.query.field('hello')defresolve_hello(root,info,name:str='world')->str:return'Hello {}'.format(name)compiled=schema.compile()

相当于使用graphql核心:

fromgraphqlimport(GraphQLObjectType,GraphQLField,GraphQLArgument,GraphQLString,GraphQLSchema)Query=GraphQLObjectType('Query',fields=lambda:{'hello':GraphQLField(GraphQLString,args={'name':GraphQLArgument(type=GraphQLString,default_value='world',),},resolver=lambdaroot,info,name='world':f'Hello, {name}'),})schema=GraphQLSchema(query=Query)

石墨烯看起来稍微好一点,但它相当混乱,使 使用不必要的对象:

importgrapheneclassQuery(graphene.ObjectType):hello=graphene.Field(graphene.String,name=graphene.Argument(graphene.String))defresolve_hello(self,info,name='world'):returnf'Hello {name}'schema=graphene.Schema(query=Query)

pyql尽可能使用标准的python内省来找出 因此,参数定义可以自动获取 从解析器函数等中获取。

限制

虽然有计划收集字段参数文档 从docstrings自动生成,它当前未实现为 可靠地分析docstring是一项非常重要的任务。

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

推荐PyPI第三方库


热门话题
java ArrayList在项目中随处可见   java JDBC领域身份验证类NotFoundException:com。mysql。jdbc。驾驶员   基于java堆栈的计算器不使用括号   java如何计算文本文件的行数   java何时选择接口或子类   java在表单中修改JSP页面中的对象时,不会返回该对象。(数据写入ID为0的新对象)   java如何在同一个项目中创建多个具有不同main的jar,IntelliJ   java windows xp 32位netbeans问题   对象Java“按下按钮”,每次按下时具有不同的操作   找不到java Gradle[METAINF/persistence.xml]   java在jdbc元数据中获取columnCount=1   java Android:下载/创建和共享文件问题导致太多崩溃,主要是在Android 10(Android Q)上   java映射嵌套列表