def save()

in src/fmeval/eval_algorithms/save_strategy.py [0:0]


    def save(self, records: List[EvalOutputRecord]):
        """Creates and uploads a part using the list of evaluation output records so that they can be completed during
        the clean up stage.

        :param records: list of EvalOutputRecords to be saved
        """
        util.require(
            self._part_info and self._multi_part_upload, "S3SaveStrategy is meant to be used as a context manager"
        )
        assert self._part_info and self._multi_part_upload  # to satisfy mypy
        part_number = len(self._part_info[PARTS]) + 1
        part = self._s3_client.upload_part(
            Bucket=self._bucket,
            Key=self._key_prefix,
            PartNumber=part_number,
            UploadId=self._multi_part_upload[UPLOAD_ID],
            Body="\n".join([str(record) for record in records]),
        )
        self._part_info[PARTS].append({PART_NUMBER: part_number, E_TAG: part[E_TAG]})