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 [[http://highline.rubyforge.org/][HighLine]]. The following code gives a peek of how the functions can be used:
animal = cliask.ask('Cow or cat? ',
invalid_response='You must say cow or cat')
yn = cliask.agree('Yes or no? ')
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 [[http://docs.python.org/3/tutorial/modules.html][imported]] for it to be used.
Make sure you have =pip= installed then do the following:
sudo pip install cliask
=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.
[[https://github.com/Sleft/cliask/archive/master.zip][Download]] an archive and extract to the directory you want to install in.
See the documentation in [[https://github.com/Sleft/cliask/blob/master/cliask.py][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.
The code in the module was first posted as [[http://stackoverflow.com/a/14977144][an answer]] to [[http://stackoverflow.com/q/14962930][a question]].
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.