code: def deprecated(replacement=None, message=None):
      
  
      def wrap(old):
          def wrapped(*args, **kwargs):
              msg = "%s is deprecated" % old.__name__
              if replacement is not None:
                  if isinstance(replacement, property):
                      r = replacement.fget
                  elif isinstance(replacement, (classmethod, staticmethod)):
                      r = replacement.__func__
                  else:
                      r = replacement
                  msg += "; use %s in %s instead." % (r.__name__, r.__module__)
              if message is not None:
                  msg += "\n" + message
              warnings.simplefilter('default')
              warnings.warn(msg, DeprecationWarning, stacklevel=2)
              return old(*args, **kwargs)
  
          return wrapped
  
      return wrap
docs: Decorator to mark classes or functions as deprecated,
      with a possible replacement.
  
      Args:
          replacement (callable): A replacement class or method.
          message (str): A warning message to be displayed.
  
      Returns:
          Original function, but with a warning to use the updated class.