code: def upload_file(self, project_name, local_path, remote_path=None):
          
          project = self._get_or_create_project(project_name)
          file_upload = FileUpload(project, remote_path, local_path)
          file_upload.run()
docs: Upload a file into project creating a new version if it already exists.
          Will also create project and parent folders if they do not exist.
          :param project_name: str: name of the project to upload a file to
          :param local_path: str: path to download the file into
          :param remote_path: str: remote path specifying file to upload to (defaults to local_path basename)