preserve_signature¶
-
plasmapy.utils.decorators.helpers.
preserve_signature
(f)¶ A decorator for decorators, which preserves the signature of the function being wrapped. This preservation allows IDE function parameter hints to work on the wrapped function. To do this, the
__signature__
dunder is defined, or inherited, from the function being wrapped to the resulting wrapped function.Parameters: f (callable) – The function being wrapped. Returns: Wrapped version of the function. Return type: callable Examples
>>> def a_decorator(f): ... @preserve_signature ... @functools.wraps(f) ... def wrapper(*args, **kwargs): ... return wrapper(*args, **kwargs) ... ... return wrapper