def generate_tags()

in runtool/runtool/experiments_converter.py [0:0]


    def generate_tags(self) -> List[Dict[str, str]]:
        """
        Generates a list of tags where each tag has the format:

            {"Key": ..., "Value": ...}

        This list will be populated with any tags in `job.experiment`.
        Further some default tags are added which aids in identifying and grouping
        the started jobs:

        `run_configuration_id`
        Unique tag which identifies the algorithm, hyperparameters & dataset
        used in the job.

        `started_with_runtool`
        identifies that the runtool was used to start this job

        `experiment_name`
        The name of the experiment which this jobs is a part of.

        `repeated_runs_group_id`
        If a job should be run several times in an experiment each of the repeated
        runs of it will have the same `repeated_runs_group_id`.

        `number_of_runs`
        The number of times the job should be run.
        """
        tags = {}
        tags.update(self.experiment["algorithm"].get("tags", {}))
        tags.update(self.experiment["dataset"].get("tags", {}))
        tags.update(
            {
                "run_configuration_id": self.run_configuration,
                "started_with_runtool": True,
                "experiment_name": self.experiment_name,
                "repeated_runs_group_id": reproducible_hash(
                    self.run_configuration + str(datetime.now())
                ),
                "number_of_runs": str(self.runs),
            }
        )
        tags.update(self.tags)

        return [
            {"Key": key, "Value": str(value)} for key, value in tags.items()
        ]