def METHOD_NAME(self, get_stats=False):
    sf = self._get_sf()
    response = sf.describe()
    if response is None:
        raise Exception("Failed describing objects.")
    schema = {}
    for sobject in response["sobjects"]:
        table_name = sobject["name"]
        if sobject["queryable"] is True and table_name not in schema:
            desc = sf.__getattr__(sobject["name"]).describe()
            fields = desc["fields"]
            schema[table_name] = {
                "name": table_name,
                "columns": [f["name"] for f in fields],
            }
    return list(schema.values())