def get_runs(self, sort_by=None, sort_direction=None, start=0, limit=None, query={"type": "and", "filters": []}):
        all_run_ids = os.listdir(self.directory)
        def run_iterator():
            blacklist = set(["_sources"])
            for id in all_run_ids:
                if id in blacklist:
                    continue
                try:
                    yield self.get(id)
                except FileNotFoundError:
                    pass
        count = len(all_run_ids)
        return FileStoreCursor(count, run_iterator())