Skip to main content

transfer-client: Transfer client library and CLI.

Project description

# Transfer client
This package provides functions for communication with the Restful Transfer
Server.

## Installation
Via [pypi](https://pypi.python.org/pypi/transfer-client):

pip install transfer_client

From source:

git clone https://git.lumc.nl/j.k.vis/transfer.git
cd transfer/transfer_client
pip install .

### Server certificate
If the server uses a self-signed certificate, the administrator of the server
needs to add this certificate to the list of trusted authorities (change
`server_name` and `domain`):

openssl s_client -connect server_name.domain:443 < /dev/null | \
openssl x509 > /usr/local/share/ca-certificates/server_name.crt
update-ca-certificates

## Command line interface
Use the command `transfer_client -h` for a list of subcommands. For every
subcommand a separate help is available, e.g.,

```
$ transfer_client users -h
usage: transfer_client users [-h] [-o OUTPUT] SERVER USER

Gives a JSON object of a user together with its transfers.

positional arguments:
SERVER server name
USER user id

optional arguments:
-h, --help show this help message and exit
-o OUTPUT output file
-n disable ssl certificate check
```

### Typical usage
The three high level subcommands are probably the only ones needed.

To transfer a list of files, use the `transfer` subcommand. We assume that the
server name is `server_name.domain` and the user ID is `xxxxxxxx`.

transfer_client transfer server_name.domain xxxxxxxx *.gz

If a transfer is interrupted for some reason, it can be resumed with the
`resume` subcommand.

transfer_client resume server_name.domain xxxxxxxx

To cancel an interrupted transfer, the `cancel` subcommand can be used.

transfer_client cancel server_name.domain xxxxxxxx

## Library
The library implements an interface to the API of the Restful Transfer server.
Full documentation can be found [here](https://git.lumc.nl/j.k.vis/transfer).

### Usage
To use the interface, we first make a class instance of `TransferClient`, then
we can use the API endpoints.

```python
>>> from transfer_client.transfer_client import TransferClient
>>>
>>> # Create a class instance for a server running on server_name.domain.
>>> transfer_client = TransferClient('server_name.domain')
>>>
>>> # Get user information together with its transfers.
>>> transfer_client.users('xxxxxxxx')
{ ... }
```

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

transfer-client-0.0.6.tar.gz (8.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page