def list_datasets(self):
        """Lists available datasets in a readable DataFrame format.

        Returns:
            pd.DataFrame: Frame listing available datasets.
        """
        def _row_gen(attributes):
            for attr in attributes.values():
                yield (attr.name, attr.display_name)

        return pd.DataFrame.from_records(
            _row_gen(self.datasets),
            columns=['name', 'display_name'])