code: def __init__(
      self,
      nfiles: int,
      clock_for_testing: Callable[[], float] = time.monotonic,
      termlog_for_testing: Callable[..., None] = termlog,
  ) -> None:
      self._nfiles = nfiles
      self._clock = clock_for_testing
      self._termlog = termlog_for_testing
  
      self._n_files_downloaded = 0
      self._spinner_index = 0
      self._last_log_time = self._clock()
      self._lock = multiprocessing.dummy.Lock()
  
imports: import multiprocessing.dummy
  import time
  from typing import Callable
  from wandb.errors.term import termlog
label_desc: Use image node_id 1 to create a new ArtifactDownloadLogger object  with example: obj = ArtifactDownloadLogger(nfiles, clock_for_testing, termlog_for_testing)