跳转到主要内容

简化对requests的包装,以便使用HEPData Converter WebServices API

项目描述

GitHub Actions Status Coveralls Status License GitHub Releases PyPI Version GitHub Issues

hepdata-converter-ws-client

用于与hepdata-converter-ws(Web服务)交互的轻量级客户端包装器。建议使用此包装器而不是手动创建请求到hepdata-converter-ws

创建此包的原因是hepdata-converter-ws API需要将文件压缩为tar.gz格式并使用Base64编码,以便将它们作为JSON请求的参数传递。每次有人想要调用hepdata-converter-ws API时手动执行此操作有些繁琐:这就是为什么产生了这个轻量级包装器。

此外,当涉及到写入convert函数的输出时,该库还提供了额外的功能:除了接收原始的tar.gz内容外,还可以将其提取到指定的文件路径。

示例用法

该库公开了一个名为hepdata_converter_ws_client.convert的单个函数,它与hepdata_converter.convert非常相似。它接受额外的参数url,并限制输入/输出为strunicode和文件对象(支持readwriteseektell的对象)。

options参数应与hepdata_converter库中的参数相同。

可以使用timeout参数设置请求的超时时间(默认为600秒)。

该库定义了异常hepdata_converter_ws_client.Error,它将在超时或其他连接到服务器时抛出。

函数hepdata_converter_ws_client.get_data_size获取将要发送到转换器的JSON数据的字节数。这可以在检查是否超过了由Web服务器强加的最大有效负载大小时很有用。

函数描述

hepdata_converter_ws_client.convert 函数具有适当的 文档字符串,描述了其参数和返回值。类似地,对于 hepdata_converter_ws_client.get_data_size,也有相应的 文档字符串

使用文件路径进行转换

传递给输入和输出的参数可以是文件路径或文件对象。以下是如何使用文件路径利用 convert 函数的示例。

import hepdata_converter_ws_client

# using path to input file, and writing output directly to output_path
input_path = '/path/to/input.txt'
output_path = '/path/to/output/dir'
hepdata_converter_ws_client.convert('http://hepdata-converter-ws-addr:port', input_path, output_path,
                                    options={'input_format': 'oldhepdata'})

使用输入路径和输出文件对象进行转换

输入始终可以是文件对象(只要输入 Parser 支持单个文件)。只有当关键字参数 extract=False 时,输出才能是文件对象。在这种情况下,返回的 tar.gz 文件的二进制内容将被写入输出文件对象。然后用户需要负责解压缩它。

import hepdata_converter_ws_client
from io import BytesIO
# using path to input file, writing to output stream
input_path = '/path/to/input.txt'
output = BytesIO()
hepdata_converter_ws_client.convert('http://hepdata-converter-ws-addr:port', input_path, output,
                                    options={'input_format': 'oldhepdata'}, extract=False)

项目详情


下载文件

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

源分发

hepdata-converter-ws-client-0.2.2.tar.gz (5.5 kB 查看散列值)

上传时间

构建分发

hepdata_converter_ws_client-0.2.2-py2.py3-none-any.whl (13.0 kB 查看散列值)

上传时间 Python 2 Python 3

由以下支持

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