wraps

astropy.utils.decorators.wraps(wrapped, assigned=('__module__', '__name__', '__qualname__', '__doc__', '__annotations__'), updated=('__dict__', ), exclude_args=())[source] [edit on github]

An alternative to functools.wraps which also preserves the original function’s call signature by way of make_function_with_signature.

This also adds an optional exclude_args argument. If given it should be a sequence of argument names that should not be copied from the wrapped function (either positional or keyword arguments).

The documentation for the original functools.wraps follows:

Decorator factory to apply update_wrapper() to a wrapper function

Returns a decorator that invokes update_wrapper() with the decorated function as the wrapper argument and the arguments to wraps() as the remaining arguments. Default arguments are as for update_wrapper(). This is a convenience function to simplify applying partial() to update_wrapper().