code: def put(self, local_path, remote_path=None):
          
          # Determine if local_path should be put into remote user directory
          if remote_path is None:
              remote_path = os.path.basename(local_path)
  
          ftp = self.ssh.open_sftp()
          if os.path.isdir(local_path):
              self.__put_dir(ftp, local_path, remote_path)
          else:
              ftp.put(local_path, remote_path)
          ftp.close()
docs: Copy a file (or directory recursively) to a location on the remote server
  
          :param local_path: Local path to copy to; can be file or directory
          :param remote_path: Remote path to copy to (default: None - Copies file or directory to
                              home directory directory on the remote server)