def partial(func, *args, **kw):
    return functools.update_wrapper(functools.partial(func, *args, **kw), func)
A thin wrapper around functools.partial which updates the wrapper
dataset/ETHPy150Open mozilla/addons-server/src/olympia/amo/utils.py/partial