def datasets(self, libref: str = '<STR_LIT>') -> str:
code = "<STR_LIT>"<EOL>if libref:<EOL><INDENT>code += "<STR_LIT>" + libref<EOL><DEDENT>code += "<STR_LIT>"<EOL>if self.nosub:<EOL><INDENT>print(code)<EOL><DEDENT>else:<EOL><INDENT>if self.results.lower() == '<STR_LIT:html>':<EOL><INDENT>ll = self._io.submit(code, "<STR_LIT:html>")<EOL>if not self.batch:<EOL><INDENT>self.DISPLAY(self.HTML(ll['<STR_LIT>']))<EOL><DEDENT>else:<EOL><INDENT>return ll<EOL><DEDENT><DEDENT>else:<EOL><INDENT>ll = self._io.submit(code, "<STR_LIT:text>")<EOL>if self.batch:<EOL><INDENT>return ll['<STR_LIT>'].rsplit("<STR_LIT>")[<NUM_LIT:0>]<EOL><DEDENT>else:<EOL><INDENT>print(ll['<STR_LIT>'].rsplit("<STR_LIT>")[<NUM_LIT:0>])<EOL><DEDENT><DEDENT><DEDENT>
This method is used to query a libref. The results show information about the libref including members.

:param libref: the libref to query
:return: