def get_arg_spec(function):
    """
    Returns argument specification for given function.  Omits special
    arguments of instance methods (`self`) and static methods (usually `cls`
    or something like this).
    """
    while hasattr(function, '__wrapped__'):
        function = function.__wrapped__
    spec = compat.getargspec(function)
    if inspect.ismethod(function):
        spec = spec._replace(args=spec.args[1:])
    return spec
def get_arg_spec(function):
    """
    Returns argument specification for given function.  Omits special
    arguments of instance methods (`self`) and static methods (usually `cls`
    or something like this).
    """
    while hasattr(function, '__wrapped__'):
        function = function.__wrapped__
    spec = compat.getargspec(function)
    if inspect.ismethod(function):
        spec = spec._replace(args=spec.args[1:])
    return spec
def get_arg_spec ( function ) : while hasattr ( function , '__wrapped__' ) : function = function . __wrapped__ spec = compat . getargspec ( function ) if inspect . ismethod ( function ) : spec = spec . _replace ( args = spec . args [ 1 : ] ) return spec
Returns argument specification for given function.  Omits special
    arguments of instance methods (`self`) and static methods (usually `cls`
    or something like this).
Returns argument specification for given function . Omits special arguments of instance methods ( self ) and static methods ( usually cls or something like this ) .