command line arg parsing through introspection

This my Answer to the stackoverflow question: command line arg parsing through introspection:

The WSGI library werkzeug provides Management Script Utilities which may do what you want, or at least give you a hint how to do the introspection yourself.

from werkzeug import script

# actions go here
def action_test():
    "sample with no args"

def action_foo(name=2, value="test"):
    "do some foo"

if __name__ == '__main__':

Which will generate the following help message:

$ python /tmp/ --help
usage: <action> [<options>] --help

    do some foo

    --name                        integer   2
    --value                       string    test

    sample with no args

An action is a function in the same module starting with "action_" which takes a number of arguments where every argument has a default. The type of the default value specifies the type of the argument.

Arguments can then be passed by position or using --name=value from the shell.