functools wraps - Serbipunk/notes GitHub Wiki

https://stackoverflow.com/questions/308999/what-does-functools-wraps-do

from functools import wraps

def logged(func):
    def with_logging(*args, **kwargs):
        print(func.__name__ + "was called")
        return func(*args, **kwargs)
    return with_logging

@logged
def f(x):
    return x + x*x

f(5)