docs: def clean_store(self, store, display_progress=True):
          """
          Clean unused data in an external storage repository from unused blobs.
          This must be performed after delete_garbage during low-usage periods to reduce risks of data loss.
          """
          spec = self._get_store_spec(store)
          progress = tqdm if display_progress else lambda x: x
          if spec['protocol'] == 'file':
              folder = os.path.join(spec['location'], self.database)
              delete_list = set(os.listdir(folder)).difference(self.fetch('hash'))
              print('Deleting %d unused items from %s' % (len(delete_list), folder), flush=True)
              for f in progress(delete_list):
                  os.remove(os.path.join(folder, f))
          elif spec['protocol'] == 's3':
              try:
                  S3Folder(database=self.database, **spec).clean(self.fetch('hash'))
              except TypeError:
                  raise DataJointError('External store {store} configuration is incomplete.'.format(store=store))