user-choices provides a unified interface to command-line options and arguments, the environment, a configuration file, or all of the above at the same time. Command-line parsing is built on OptionParser.