code: def read(*filenames, **kwargs):
      
      encoding = kwargs.get('encoding', 'utf-8')
      sep = kwargs.get('sep', '\n')
      buf = []
      for filename in filenames:
          if path.splitext(filename)[1] == ".md":
              try:
                  import pypandoc
                  buf.append(pypandoc.convert_file(filename, 'rst'))
                  continue
              except:
                  with io.open(filename, encoding=encoding) as f:
                      buf.append(f.read())
          with io.open(filename, encoding=encoding) as f:
              buf.append(f.read())
      return sep.join(buf)
docs: Read file contents into string.
  
      Used by setup.py to concatenate long_description.
  
      :param string filenames: Files to be read and concatenated.
      :rtype: string