code: def deprecated(message=""):
      
      def decorator_wrapper(func):
          """
          Generate decorator wrapper function
          :param func: function to be decorated
          :return: wrapper
          """
          @functools.wraps(func)
          def function_wrapper(*args, **kwargs):
              """
              Wrapper which recognize deprecated line from source code
              :param args: args for actual function
              :param kwargs: kwargs for actual functions
              :return: something that actual function might returns
              """
              current_call_source = '|'.join(traceback.format_stack(inspect.currentframe()))
              if current_call_source not in function_wrapper.last_call_source:
                  warnings.warn("Function {} is now deprecated! {}".format(func.__name__, message),
                                category=DeprecationWarning, stacklevel=2)
                  function_wrapper.last_call_source.add(current_call_source)
  
              return func(*args, **kwargs)
  
          function_wrapper.last_call_source = set()
  
          return function_wrapper
      return decorator_wrapper
docs: This is a decorator which can be used to mark functions
      as deprecated. It will result in a warning being emitted
      when the function is used first time and filter is set for show DeprecationWarning.