human
Here's a good function header given the following:
I wrote the below code

    @functools.wraps(func)
    def decorator(cls):
        if (not hasattr(cls, 'run_function')):
            raise RuntimeError("{0}    does    not    have    the    'run_function'    method    which    is    necessary    to    collect    the    system    grains".format(cls.__class__.__name__))
        return func(cls, grains=cls.run_function('grains.items'))
    return decorator

What's a good function header?
assistant
#Here's a good function header.

def requires_system_grains(func):