def distinct(self, *columns: Set[str]):
    'Returns distinct values based on the specified ``columns``'
    if (not columns):
        raise ValueError('Supply one or multiple columns as arguments.')
    q = self._create_query()
    q = q.with_entities(*columns).distinct()
    return read_with_progress(q.statement, self.engine)
Returns distinct values based on the specified ``columns``
def distinct(self, *columns: Set[str]):
    
    if (not columns):
        raise ValueError('Supply one or multiple columns as arguments.')
    q = self._create_query()
    q = q.with_entities(*columns).distinct()
    return read_with_progress(q.statement, self.engine)