一个小库,提供对超导graphql api的编程访问。

cooper-pair的Python项目详细描述


配对

cooper_pair是一个python库,提供对超导graphql api的编程访问。

它支持有限数量的通用用例。(见下文。) cooper_pairnot打算用作graphql的通用集成库。 最有用的graphql查询是notcooper_pairapi中受支持。

为什么要限制用例?

graphql是一种可组合的查询语言。允许的查询空间很大,而且 开发人员有权为给定的作业选择正确的查询。这种夫妻关系的发展 在使用api并允许每个api更快移动的开发过程中, 独立地。

在一个硬Python库中封装一个灵活的API将完全达到这个目的。

相反,把cooper_pair看作是训练车轮。它使快速连接变得容易 并执行一些常见的函数。它还提供了一组示例 查询以了解如何使用GraphQL和同素异形API。

换句话说,cooper-pair可以帮助您开始,但是您将能够获得更多 一旦你学会了使用graphql查询它。

安装

cd cooper-pair
pip install .

或者,

pip install git+ssh://git@github.com/superconductive/cooper.git#egg=cooper_pair&subdirectory=pair

用法

实例化api

from cooper_pair import CooperPair

pair = CooperPair(
    graphql_endpoint="http://my-data-valet-url:3010/graphql",
    email='my_user@some_email.com',
    password='my_very_secure_password'
)

列出数据集

response = pair.list_datasets()
print( json.dumps(response, indent=2))

获取数据集

response = pair.get_dataset("RGF2YXNldPoxODl=")
print( json.dumps(response, indent=2))

列出检查点

response = pair.list_checkpoints()
print( json.dumps(response, indent=2) )
创建一个新的数据集,并根据现有的检查点对其进行评估

从数据帧:

my_df = pd.DataFrame({
    "x" : [1,2,3,4,5],
    "y" : [6,7,8,9,10],
})
response = pair.evaluate_checkpoint_on_pandas_df(
    checkpoint_id="Q2hlY2twb2ludDox",
    pandas_df=my_df,
    filename="my_dataframe_name"
)
evaluation_id = response['addEvaluation']['evaluation']['id']
dataset_id = response['addEvaluation']['evaluation']['dataset']['id']

从文件:

with open('my_file.csv', 'rb') as fd:
    dataset = pair.evaluate_checkpoint_on_file(
        checkpoint_id="Q2hlY2twb2ludDox",
        fd=fd,
    )
evaluation_id = response['addEvaluation']['evaluation']['id']
dataset_id = response['addEvaluation']['evaluation']['dataset']['id']

注意:评估是异步的。当同素异形体第一次返回响应时, 它将有status="created"。当一个工人捡起它时,它将变为pending, 然后根据评估结果来successfailed

您可以按如下方式查询状态:

response = pair.query("""
        query evaluationQuery($id: ID!) {
            evaluation(id: $id) {
                id,
                status
            }
        }
    """,
    variables={
        'id' : evaluation_id
})
print(response)

从json创建新的检查点

import json
with open('checkpoint_definition.json', 'rb') as fd:
    checkpoint_config = json.load(fd)

pair.add_checkpoint_from_expectations_config(
    checkpoint_config, "Checkpoint Name")

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

推荐PyPI第三方库


热门话题
java如何在数据库中插入行时自动发送电子邮件?   从进程输出读取的Java问题   java质疑StyledDocument和JTextPane之间的关系,以及接口的正确使用   java错误getPlayer(args[0]);   java如何使Spring引导在重新打包的WAR中包含清单文件?   Java中的除法与模   java使用2d数组和JfreeChart制作散点图   java扩展SonarQube FindBugs插件和自定义FindBugs插件   javaspring:hibernate+ehcache   具有不正确的equals和HashCode实现的java HashMap   java Jaspersoft报告网。旧金山。jasperreports。发动机例外:net。旧金山。jasperreports。发动机填满JRepressionEvalException:计算表达式时出错   java如果输入与其变量不匹配,如何添加错误   在java中使用简单数组[]实现队列   无法启动上下文路径/hsx上的java FAIL应用程序