Simple wrapper for requests, to ease use of HEPData Converter WebServices API
Project description
hepdata-converter-ws-client
Light client wrapper for interaction with hepdata-converter-ws (Web Services). It is recommended to use this wrapper instead of manually creating requests to hepdata-converter-ws.
The reason for creating this package is the fact that the
hepdata-converter-ws
API requires compressing files into tar.gz
format and encoding using
Base64 in order to pass them as an argument in the JSON request.
Doing this manually every time someone wants to call the
hepdata-converter-ws
API was a little cumbersome: that's why this light wrapper was born.
Additionally, the library provides additional functionality when it
comes to writing the output of the convert
function: instead
of receiving raw tar.gz
content it is possible to extract to a
specified file path.
Sample usage
The library exposes one single function
hepdata_converter_ws_client.convert
which is very similar to
hepdata_converter.convert
. It accepts the additional argument url
,
and restricts input / output to str
, unicode
and file objects
(objects supporting read
, write
, seek
, tell
).
The options
parameter should be the same as with the
hepdata_converter
library.
The timeout
parameter can be used to set a timeout for requests
(defaults to 600s).
The library defines the exception hepdata_converter_ws_client.Error
which will be thrown on timeouts or other errors connecting to the
server.
Function description
hepdata_converter_ws_client.convert
function has proper docstring describing its arguments and return values.
Convert using file paths
Arguments passed as input and output can be file paths or file objects.
Below is an example of how to utilise the convert
function with file
paths.
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'})
Convert using input path and output file object
Input can always be a file object (as long as the input Parser
supports single files). Output can be a file object only if the
keyword argument extract=False
. In this case the binary content of
the returned tar.gz
file will be written to the output file object.
It is then the responsibility of the user to decompress it.
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)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file hepdata-converter-ws-client-0.1.6.tar.gz
.
File metadata
- Download URL: hepdata-converter-ws-client-0.1.6.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b892d9cad88bdafb61612b074d0c0c5904383db11ea23d9437fb7f9be950e1a |
|
MD5 | 781d28493189739ce9934ae8e146ad12 |
|
BLAKE2b-256 | 1b01cbfa6b184c2832e0511b86db34575af462298e8588355e126e6c7aba933d |
File details
Details for the file hepdata_converter_ws_client-0.1.6-py2.py3-none-any.whl
.
File metadata
- Download URL: hepdata_converter_ws_client-0.1.6-py2.py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | caaa0868175a5b58ee1d7c03c81cf8ae851d4bf493edbcd8ac14a3745cdcd170 |
|
MD5 | 21971a86aba4e7d290ad9ff0d0a816d7 |
|
BLAKE2b-256 | 665ed859240cb2e0254414fcff378d27b971cc801f941788d0d8de32e3a31554 |