Quick example of argparser declaration from dictionary:
import sys from argparse.extra import DictArgumentParser def run_testarg_processing(args, argv): print 'testarg argument used' ARGUMENTS = {'--use-something':{'dest':'use_something', 'action':'store_true', 'default':False}, 'sub:testarg':{ #sub:testarg will create subparser 'testarg' #depth of subargs is unlimited 'description':'Test arg subcommand', 'help':'Test help' 'func':run_testarg_processing, '--use-sub-something':{'dest':'use_sub_something', 'action':'store_true', 'default':False}, }} DEFAULTS_ONLY = ['func',] def get_argparser(argsdict=ARGUMENTS): #always create get_argparser function for your cli apps #this will enable easy integration of subsequent applications #with your argparser return DictArgumentParser(argsdict, DEFAULTS_ONLY) def main(args=sys.argv): args, argv = get_argparser().parse_known_args(args[1:]) args.func(args, argv) if __name__ == '__main__': main()
Try one of these:
python setup.py install easy_install argparse.extra pip install argparse.extra