I'd recommend using click (probably with click-option-group) rather than argparse.
Very nice to use, creates nice help pages, and can easily and programatically create new CLI's e.g. I programmatically create some in nonbonded.
Originally posted by @SimonBoothroyd in #4 (comment)