Some friends recommend docopt over argparse. My major reason against docopt is that my code has several options and arguments that are determined at run-time. As a simple example, consider a &quot;--format&quot; argument which must be one of list of supported formats, and which may depend on your environment (eg, have you compiled PIL with&#x2F;without jpeg support?).<p>With docopt I think I have to basically re-implement a templating system in order to build the help text, and this system has to be aware of the parse rules. I can do that, but it seems easier to just tell argparse the list of options directly.<p>Click definitely looks interesting, and a quick read of the documentation suggests it might &#x27;fit my brain&#x27; better than argparse. For example, I don&#x27;t like how argparse supports automatic expansion of long arguments because I think it leads to forward compatibility problems. That support can be disabled in recent versions of Python, but I agree with click that it simply shouldn&#x27;t be supported, except through an explicit alias list.