code: def datasets(self, libref: str = '') -> str:
          
          code = "proc datasets"
          if libref:
             code += " dd=" + libref
          code += "; quit;"
  
          if self.nosub:
             print(code)
          else:
             if self.results.lower() == 'html':
                ll = self._io.submit(code, "html")
                if not self.batch:
                   self.DISPLAY(self.HTML(ll['LST']))
                else:
                   return ll
             else:
                ll = self._io.submit(code, "text")
                if self.batch:
                   return ll['LOG'].rsplit(";*\';*\";*/;\n")[0]
                else:
                   print(ll['LOG'].rsplit(";*\';*\";*/;\n")[0])
docs: This method is used to query a libref. The results show information about the libref including members.
  
          :param libref: the libref to query
          :return: