code: def print_progress_bar(done: int, total: int, prefix: str = '', suffix: str = '') -> None:
      
  
      percent = '{0:.1f}'.format(100 * (done / float(total)))
      base_len = shutil.get_terminal_size().columns - 7 - len(prefix) - len(suffix)
      base_len = min([base_len, 50])
      min_length = base_len - 1 - len('{}/{}={}'.format(total, total, '100.0'))
      length = base_len - len('{}/{}={}'.format(done, total, percent))
      if min_length > 0:
          filled_len = int(min_length * done // total)
          bar = '='*filled_len + '-'*(min_length - filled_len)
          spacing = ' '*(length - min_length)
          print('\r{}: |{}|{}{}/{}={}% {}'.format(prefix, bar, spacing, done, total, percent, suffix), end='\r')
      else:
          short_progress = '\r{}: {}/{}'.format(prefix, done, total)
          if len(short_progress) <= shutil.get_terminal_size().columns:
              print(short_progress, end='\r')
          else:
              print(['-', '\\', '|', '/'][done % 4], end='\r')
docs: Print a progressbar with the given prefix and suffix, without newline at the end.
  
      param done: current step in computation
      param total: total count of steps in computation
      param prefix: info text displayed before the progress bar
      param suffix: info text displayed after the progress bar