Source code for sim_panel.policies.registry
from __future__ import annotations
from sim_panel.policies.base import Policy, PolicyConfig
from sim_panel.policies.manual import ManualAssignmentPolicy
from sim_panel.policies.random import RandomAssignmentPolicy
from sim_panel.policies.self_selection import SelfSelectionPolicy
[docs]
def build_policy(cfg: PolicyConfig) -> Policy:
if cfg.name == "random":
return RandomAssignmentPolicy(cfg)
if cfg.name == "manual":
return ManualAssignmentPolicy(cfg)
if cfg.name == "self_selection":
return SelfSelectionPolicy(cfg)
raise ValueError(f"Unknown policy name: {cfg.name}")