Skip to main content

CLI tool for file transfer (upload and download) to/from AWS S3.

Project description

hca-util

CLI tool for file transfer (upload and download) to/from AWS S3.

https://github.com/ebi-ait/hca-util

Users

Prerequisites

Users need to have

  1. Basic command-line knowledge
  2. Python3.x installed on their machine
  3. Credentials to access data in the S3 bucket (access and secret keys)

Install

Get hca-util from PyPi.

$ pip install hca-util

Usage

Display help

$ hca-util -h
usage: hca-util [-h] [--profile PROFILE]
                   {config,create,select,dir,clear,list,upload,download,delete}

In the above, optional arguments are between [] and choices between {}.

The basic usage is as follows:

$ hca-util cmd ARG1 ARG2 -o1 -o2

Use the tool by specifying a command (cmd - see list below) to run, any mandatory (positional) arguments (e.g. ARG1 and ARG2 - see positional args for each command), and any optional arguments (e.g. -o1 and o2 - see options for each command).

List of commands

help for a specific command:

$ hca-util <command> -h

Some commands or options/flags are restricted to authorised users (for e.g. wranglers, admin) only.

config command

Configure AWS credentials

$ hca-util config ACCESS_KEY SECRET_KEY

positional arguments:
  ACCESS_KEY         AWS Access Key ID
  SECRET_KEY         AWS Secret Access Key

By default, this tool looks for and uses the profile name hca-util, if it exists, or it can be set by the config command.

Running a command with the --profile argument uses the specified profile instead of the default hca-util profile.

create command

Create an upload directory (authorised user only)

$ hca-util create [-n name] [-p {u,ud,ux,udx}]

optional arguments:
  -n name            optional project name for new directory
  -p {u,ud,ux,udx}   allowed actions (permissions) on new directory. u for
                     upload, x for delete and d for download. Default is ux

select command

Select active directory

$ hca-util select DIR

positional arguments:
  DIR                directory uuid

dir command

Display active (selected) directory

$ hca-util dir

clear command

Clear current selection

$ hca-util clear [-a]

optional arguments:
  -a          clear all - selection and known dirs

list command

List contents of selected directory

$ hca-util list [-b]

optional arguments:
  -b                 list all directories in bucket **(authorised user only)**

upload command

Upload files to selected directory

$ hca-util upload (-a | -f file [file ...]) [-o]

optional arguments:
  -a                  upload all files from current user directory
  -f file [file ...]  upload specified file(s)
  -o                  overwrite files with same names

download command

Download files from selected directory

$ hca-util download (-a | -f file [file ...])

optional arguments:
  -a                  download all files from selected directory
  -f file [file ...]  download specified file(s) only

delete command

Delete files from selected directory

$ hca-util delete (-a | -f file [file ...] | -d)

optional arguments:
  -a                  delete all files from selected directory
  -f file [file ...]  delete specified file(s) only
  -d                  delete directory and contents **(authorised user only)**

Developers

Run

python -m hca_util.__main__

Run tests

python -m tests.test_hca_util

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

hca-util-0.1.3.tar.gz (13.9 kB view hashes)

Uploaded Source

Built Distribution

hca_util-0.1.3-py3-none-any.whl (22.7 kB view hashes)

Uploaded Python 3

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