def groups(self):
_tables()<EOL>self._check_if_open()<EOL>return [<EOL>g for g in self._handle.walk_groups()<EOL>if (not isinstance(g, _table_mod.link.Link) and<EOL>(getattr(g._v_attrs, '<STR_LIT>', None) or<EOL>getattr(g, '<STR_LIT>', None) or<EOL>(isinstance(g, _table_mod.table.Table) and<EOL>g._v_name != '<STR_LIT>')))<EOL>]<EOL>
return a list of all the top-level nodes (that are not themselves a
        pandas storage object)