human
I wrote the below code

    @wraps(fun)
    def wrapper(self, *args, **kwargs):
        if (not self.stage):
            raise NoStageError(fun)
        return fun(self, *args, **kwargs)
    return wrapper

What's a good function header?

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

def _needs_stage(fun):