Spaces:
Sleeping
Sleeping
Download src/elbench/execution/selection.py from adelevett/ELBench-live: direct link, hf CLI and curl.
- Browser
- Download file 1.6 kB
-
https://huggingface.co/spaces/adelevett/ELBench-live/resolve/main/src/elbench/execution/selection.py
- Command line
-
hf download hf://spaces/adelevett/ELBench-live/src/elbench/execution/selection.py
-
curl -L -o selection.py https://huggingface.co/spaces/adelevett/ELBench-live/resolve/main/src/elbench/execution/selection.py
1.6 kB
| from __future__ import annotations | |
| from dataclasses import dataclass | |
| from elbench.schemas.config import ProjectConfig | |
| from .basic_education import DEFAULT_BASIC_MODULE_NAME | |
| class ModuleSelection: | |
| requested_modules: frozenset[str] | None | |
| selected_modules: frozenset[str] | |
| standard_modules: frozenset[str] | |
| include_basic_education: bool | |
| def resolve_module_selection( | |
| project_config: ProjectConfig, | |
| requested_modules: set[str] | None, | |
| ) -> ModuleSelection: | |
| requested = frozenset(requested_modules) if requested_modules else None | |
| if requested is None: | |
| active_modules = [ | |
| module_name | |
| for module_name in project_config.app.benchmark_modules.active | |
| if module_name in project_config.modules | |
| and project_config.modules[module_name].enabled | |
| ] | |
| if active_modules: | |
| selected = frozenset(active_modules) | |
| else: | |
| selected = frozenset( | |
| module_name | |
| for module_name, module_entry in project_config.modules.items() | |
| if module_entry.enabled | |
| ) | |
| else: | |
| selected = requested | |
| include_basic_education = DEFAULT_BASIC_MODULE_NAME in selected | |
| standard_modules = frozenset( | |
| module_name for module_name in selected if module_name != DEFAULT_BASIC_MODULE_NAME | |
| ) | |
| return ModuleSelection( | |
| requested_modules=requested, | |
| selected_modules=selected, | |
| standard_modules=standard_modules, | |
| include_basic_education=include_basic_education, | |
| ) | |