code: def once(self, message, *args, **kws):
      
      # TODO: after py2 support drop, put this into
      # function signature: identifier=None (between *args and **kws)
      identifier = kws.pop('identifier', None)
  
      if identifier is None:
          caller = getframeinfo(stack()[1][0])
          identifier = "%s:%d" % (caller.filename, caller.lineno)
      if not hasattr(self, 'once_dict'):
          self.once_dict = {}
      if identifier in self.once_dict:
          return
      self.once_dict[identifier] = True
      self._log(ONCE, message, args, **kws)
docs: Show a message only once, determined by position in source or identifer.
  
      This will not work in IPython or Jupyter notebooks if no identifier is
      specified, since then the determined position in source contains the
      execution number of the input (cell), which changes every time.
      Set a unique identifier, otherwise the message will be printed every
      time.