code: def deprecated(func, msg='', *args, **kw):
      
      msg = '%s.%s has been deprecated. %s' % (
          func.__module__, func.__name__, msg)
      if not hasattr(func, 'called'):
          warnings.warn(msg, DeprecationWarning, stacklevel=2)
          func.called = 0
      func.called += 1
      return func(*args, **kw)
docs: A family of decorators to mark deprecated functions.
  
      :param msg:
          the message to print the first time the
          deprecated function is used.
  
      Here is an example of usage:
  
      >>> @deprecated(msg='Use new_function instead')
      ... def old_function():
      ...     'Do something'
  
      Notice that if the function is called several time, the deprecation
      warning will be displayed only the first time.