class_docstr: Cache to maintain extracted archives
  
  Parameters
  ----------
  toppath : str
    Top directory under .git/ of which temp directory would be created.
    If not provided -- random tempdir is used
  persistent : bool, optional
    Passed over into generated ExtractedArchives
class_docstr_tok: ["Cache","to","maintain","extracted","archives","Parameters","--","--","--","--","--","toppath",":","str","Top","directory","under",".git\/","of","which","temp","directory","would","be","created",".","If","not","provided","--","random","tempdir","is","used","persistent",":","bool",",","optional","Passed","over","into","generated","ExtractedArchives"]
code: def clean(self, force=False):
      for aname, a in list(self._archives.items()):
          a.clean(force=force)
          del self._archives[aname]
      # Probably we should not rely on _made_path and not bother if persistent removing it
      # if ((not self.persistent) or force) and self._made_path:
      #     lgr.debug("Removing the entire archives cache under %s", self.path)
      #     rmtemp(self.path)
      if (not self.persistent) or force:
          lgr.debug(
              "Removing the entire archives cache under %s", self.path
          )
          rmtemp(self.path)
  
imports: import hashlib
  import logging
  import os
  import random
  import string
  import tempfile
  from datalad import cfg
  from datalad.config import anything2bool
  from datalad.consts import ARCHIVES_TEMP_DIR
  from datalad.support.external_versions import external_versions
  from datalad.support.locking import lock_if_check_fails
  from datalad.support.path import abspath, exists, isabs, isdir
  from datalad.support.path import join
  from datalad.support.path import normpath, pardir, relpath
  from datalad.support.path import sep
  from datalad.utils import Path, any_re_search, ensure_bytes, ensure_unicode, get_tempfile_kwargs, on_windows, rmtemp, rmtree, unlink
label_desc: Use image node_id 3 for calling the ArchivesCache obj's underlying member method code with example usage: obj.clean(force) without return types