def from_parameters(params: Parameters) -> ResourceRequest: return SlurmResourceRequest( partition=params.string("partition"), num_cpus=params.optional_positive_integer("num_cpus"), num_gpus=params.optional_integer("num_gpus"), memory=MemoryAmount.parse(params.string("memory")) if "memory" in params else None, job_time_in_minutes=params.optional_integer("job_time_in_minutes"), exclude_list=params.optional_string("exclude_list"), run_on_single_node=params.optional_string("run_on_single_node"), )
def key_function_from_params(params: Parameters) -> Callable[[Path], str]: key_function_string = (params.optional_string( "key_function", [IDENTITY, STRIP_ONE_EXTENSION]) or IDENTITY) if key_function_string == IDENTITY: return identity_key_function elif key_function_string == STRIP_ONE_EXTENSION: return strip_one_extension_key_function else: raise NotImplementedError(f"Unknown key function %s", key_function_string)