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.8.tar.gz (8.9 kB view details)

Uploaded Source

File details

Details for the file transfer-client-0.0.8.tar.gz.

File metadata

File hashes

Hashes for transfer-client-0.0.8.tar.gz
Algorithm Hash digest
SHA256 b08bce268a5e6b4284263a8b0acc5f9f7af3ba7c092d4229d5eaa65190892ba6
MD5 c9f3ecfdd19ccc67221eb45bae3bc993
BLAKE2b-256 a83a24c75b98720edb8d9ce526e71a19880f5c6234e37af30813a249540408ec

See more details on using hashes here.

Supported by

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