code: def put_files(self, files, content_type=None, compress=None, cache_control=None, block=True):
      
      for path, content in tqdm(files, disable=(not self.progress), desc="Uploading"):
        content = compression.compress(content, method=compress)
        self._interface.put_file(path, content, content_type, compress, cache_control=cache_control)
      return self
docs: Put lots of files at once and get a nice progress bar. It'll also wait
      for the upload to complete, just like get_files.
  
      Required:
        files: [ (filepath, content), .... ]