code: def wraps(
      wrapped, assigned=WRAPPER_ASSIGNMENTS, updated=WRAPPER_UPDATES
  ):
      """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().
      """
      return partial(
          update_wrapper,
          wrapped=wrapped,
          assigned=assigned,
          updated=updated,
      )
  
imports: from abc import get_cache_token
  from collections import namedtuple
  from reprlib import recursive_repr
  from _thread import RLock
  from types import GenericAlias
label_desc: Use image node_id 2 for calling a global function with example usage: wraps(wrapped, assigned, updated) and returns: partial