Atmosphere CLI

Build Status GitHub version Documentation Status

The Atmosphere CLI is a command-line client written in Python (based on OpenStack’s cliff framework) for Atmosphere. Atmosphere is an integrative, private, self-service cloud computing platform designed to provide easy access to preconfigured, frequently used analysis routines, relevant algorithms, and data sets in an available-on-demand environment designed to accommodate computationally and data-intensive bioinformatics tasks. It is currently in use on the CyVerse and Jetstream projects.

Getting Started

The Atmosphere CLI can be installed from PyPI using pip:

$ pip install atmosphere-cli

There are a few ways to get help. A listing of supported commands and global options can be shown with --help:

$ atmo --help

There is also a help command that can be used to get help for specific commands:

$ atmo help image list

(Optional) Install bash command line completion to get command hints by tabbing:

$ atmo complete >> ~/.bash_aliases
$ . ~/.bash_aliases  # add to ~/.bashrc or ~/.bash_profile to always load (Ubuntu distro's already load it)
$ atmo <tab>
allocation   group        identity     instance     project      size         volume
complete     help         image        maintenance  provider     version

Configuration

The Atmosphere CLI can be configured with environment variables or command-line options. The two required variables are ATMO_BASE_URL, the URL to the corresponding instance of Atmosphere, and ATMO_AUTH_TOKEN, the token needed for authorization. An authorization token can be created by logging into the web client and going to the user menu (upper right corner) and selecting Settings -> Advanced -> Personal Access Tokens. For instance:

export ATMO_BASE_URL="https://atmo.cyverse.org"
export ATMO_AUTH_TOKEN="xxxxxxxxxxxxxxxxxxxx"

A sample .env file is provided in the repo. The corresponding command-line options can also be used:

--atmo-base-url <URL>
--atmo-auth-token <TOKEN>

Contributing

To contribute to development and run the included tests:

# grab the repo
$ git clone https://github.com/eriksf/atmosphere-cli
$ cd atmosphere-cli

# install pipenv
$ pip install pipenv

# install atmosphere-cli
$ pipenv install --dev  # if multiple python versions installed, select with --python option

# setup environment
$ cp .env.sample .env  # edit ATMO_BASE_URL and ATMO_AUTH_URL as in Configuration section above

# load virtual environment
$ pipenv shell  # this also loads variables in .env to environment

License

See LICENSE.txt for license information.

Authors