choices = ( (1, "member"), (2, "moderator"), (3, "admin"), ) role = prompt_choices("role", choices=choices, resolve=int, default=1) print "ROLE:", role @manager.option('-n', '--name', dest='name', help="your name") @manager.option('-u', '--url', dest='url', help="your url") def outputoptional(name, url): "print name and url, but don't require either" print name, url manager.add_option("-c", "--config", dest="config", help="config file", required=False) manager.add_option("--debug", dest="debug", help="debug mode", action="store_true") manager.add_command("shell", Shell(make_context=lambda: manager.context())) if __name__ == "__main__": manager.run()