/cliask

A Python module for getting validated user input via the console

Primary LanguagePythonOtherNOASSERTION

A Python module for getting validated user input via the console which is meant to ease the process of building command line interfaces. Provides the function ask which will ask for input until a valid response is given. Also provides the function agree which will ask for input until the answer is yes or no. Both functions are similar to and inspired by the functions with the same name in the Ruby library HighLine. The following code gives a peek of how the functions can be used:

import cliask

animal = cliask.ask('Cow or cat? ',
                    validator=('cow', 'cat'),
                    invalid_response='You must say cow or cat')
yn = cliask.agree('Yes or no? ')

print(animal)
print(yn)

Installation

To use cliask you need Python 3. The following describes two ways of installing. The first method requires that git is installed and the second does not. Either way the module has to be imported for it to be used.

pip

Make sure you have pip installed then do the following:

sudo pip install cliask

Git

cd to the directory you want to install in and do

git clone https://github.com/Sleft/cliask.git .

to clone the git repository into that directory. You can use the same command if you want to update your installation.

Archive

Download an archive and extract to the directory you want to install in.

Usage

See the documentation in cliask.py, especially the documention for cliask.ask and the example of usage in cliask._test. Run cliask.py, python cliask.py, to try the example of usage.

Credits

The code in the module was first posted as an answer to a question.

License

See LICENSE.org.