def create_task_config_dict()

in src/lighteval/tasks/registry.py [0:0]


    def create_task_config_dict(meta_table: list[LightevalTaskConfig] | None = None) -> dict[str, LightevalTaskConfig]:
        """
        Create configuration tasks based on the provided meta_table.

        Args:
            meta_table: meta_table containing tasks
                configurations. If not provided, it will be loaded from TABLE_PATH.
            cache_dir: Directory to store cached data. If not
                provided, the default cache directory will be used.

        Returns:
            Dict[str, LightevalTask]: A dictionary of task names mapped to their corresponding LightevalTask classes.
        """

        if meta_table is None:
            meta_table = [config for config in vars(default_tasks).values() if isinstance(config, LightevalTaskConfig)]

        tasks_with_config: dict[str, LightevalTaskConfig] = {}
        for config in meta_table:
            if not any(suite in config.suite for suite in DEFAULT_SUITES):
                logger.warning(
                    f"This evaluation is not in any known suite: {config.name} is in {config.suite}, not in {DEFAULT_SUITES}. Skipping."
                )
                continue
            for suite in config.suite:
                if suite in DEFAULT_SUITES:
                    tasks_with_config[f"{suite}|{config.name}"] = config

        return tasks_with_config