Solution
def requires_fields(fields):
required_fields = set(fields)
def wrapper(func):
@functools.wraps(func)
def decorated(*args, **kwargs):
# ...
return decorated # you are missing this
return wrapper