def parse_json_sweep()

in local_grid.py [0:0]


def parse_json_sweep(config):
    config = { k: v if type(v) is list else [v] for k, v in config.items() }
    perms = list(itertools.product(*config.values()))

    def to_arg(k, v):
        if type(v) in (int, float):
            return f"--{k}={v}"
        elif type(v) is bool:
            return f"--{k}" if v else ""
        elif type(v) is str:
            assert '"' not in v, f"Key {k} has string value {v} which contains forbidden quotes."
            return f'--{k}={v}'
        else:
            raise Exception(f"Key {k} has value {v} of unsupported type {type(v)}.")

    commands = []
    for p in perms:
        args = [to_arg(k, p[i]) for i, k in enumerate(config.keys())]
        commands.append(args)
    return commands