Decapado envuelto funciones parciales

Estoy tratando de crear un decorador seleccionable usando funciones parciales. Sin embargo, sigo teniendo errores de decapado cuando trato de hacer eso.

El primer ejemplo ingenuo es el siguiente:

def decorator(func):
  def wrapper(**kwargs):
    return partial(func, **kwargs)
  return wrapper

@decorator
def decorated(x, y=1, z=2):
  return x+y+z

y5 = decorated(y=5)
pickle.dumps(y5)

Dóndepartial es tomado defunctools.

Un intento un poco menos ingenuo implica agregar@wraps una línea arribadef wrapper. Esto no ayuda.

No estoy seguro de entender cómo funciona realmente el decapado.

Respuestas a la pregunta(1)

Su respuesta a la pregunta