This returns a list of all arguments
    :param func: callable object
    :return: list of str of the arguments for the function

def function_arguments(func):
    """
    This returns a list of all arguments
    :param func: callable object
    :return: list of str of the arguments for the function
    """
    if getattr(inspect, 'signature', None) is None:
        return list(inspect.getargspec(func).args)
    else:
        return list(inspect.signature(func).parameters.keys())