# https://bugs.python.org/issue46761 import functools import inspect def original(a, b, c, d): print(f"original {a=} {b=} {c=} {d=}") sig_original = inspect.signature(original) curried_a = functools.partial(original, 1) sig_curried_a_1 = inspect.signature(curried_a) assert not hasattr(curried_a, '__wrapped__') functools.update_wrapper(curried_a, original) sig_curried_a_2 = inspect.signature(curried_a) assert not hasattr(curried_a, '__wrapped__') assert sig_curried_a_2 == sig_curried_a_1 assert sig_curried_a_2 != sig_original