docs: def copy(self, filename=None):
          """Puts on destination as a temp file, renames on
          the destination.
          """
          dst = os.path.join(self.dst_path, filename)
          src = os.path.join(self.src_path, filename)
          dst_tmp = os.path.join(self.dst_tmp, filename)
          self.put(src=src, dst=dst_tmp, callback=self.update_progress, confirm=True)
          self.rename(src=dst_tmp, dst=dst)