code: def read(self, source, compressed=False, encoding='UTF-8'):
          
          buf = ''
          for block in self.cat(source, compressed=compressed, encoding=encoding):
              buf += block
              if '\n' in buf:
                  ret, buf = buf.rsplit('\n', 1)
                  for line in ret.split('\n'):
                      yield line
  
          lines = buf.split('\n')
          for line in lines[:-1]:
              yield line
  
          # only yield the last line if the line has content in it
          if lines[-1]:
              yield lines[-1]
docs: Iterates over a file in s3 split on newline.
  
          Yields a line in file.