Skip to content

Module contributor

OmniObject

Main class to manage an omnibenchmark module. It takes the following arguments:

  • name (str): Module name
  • keyword (Optional[List[str]], optional): Keyword associated to the modules output dataset.
  • title (Optional[str], optional): Title of the modules output dataset.
  • description (Optional[str], optional): Description of the modules output dataset.
  • script (Optional[PathLike], optional): Script to generate the modules workflow for.
  • command (Optional[OmniCommand], optional): Workflow command - will be automatically generated if missing.
  • inputs (Optional[OmniInput], optional): Definitions of the workflow inputs.
  • parameter (Optional[OmniParameter], optional): Definitions of the workflow parameter.
  • outputs (Optional[OmniOutput], optional): Definitions of the workflow outputs.
  • omni_plan (Optional[OmniPlan], optional): The workflow description.
  • benchmark_name (Optional[str], optional): Name of the benchmark the module is associated to.
  • orchestrator (Optional[str], optional): Orchestrator url of the benchmark th emodule is associated to. Automatic detection.
  • wflow_name (Optional[str], optional): Workflow name. Will be set to the module name if none.
  • dataset_name (Optional[str], optional): Dataset name. Will be set to the module name if none.

The following class methods can be run on an instance of an OmniObject:

  • create_dataset(): Method to create a renku dataset with the in the object specified attributes in the current renku project.
  • update_object(): Method to check for new imports or updates in input and the parameter datasets. Will update object attributes accordingly.
  • run_renku(): Method to generate and update the workflow and all output files as specified in the object.
  • update_result_dataset(): Method to update and add all output datasets to the dataset specified in the object.

OmniInput

Class to manage inputs of an omnibenchmark module. This class has the following attributes:

  • names (List[str]): Names of the input filetypes
  • prefix (Optional[Mapping[str, List[str]]], optional): Prefixes (or substrings) of the input filetypes.
  • input_files (Optional[Mapping[str, Mapping[str, str]]], optional): Input files ordered by file types.
  • keyword (Optional[List[str]], optional): Keyword to define which datasets are imported as input datasets.
  • default (Optional[str], optional): Default input name (e.g., dataset).
  • filter_names (Optional[List[str]], optional): Input dataset names to be ignored.

The following class methods can be run on an instance of an OmniInput:

  • update_inputs(): Method to import new and update existing input datasets and update the object accordingly

OmniParameter

Class to manage parameter of an omnibenchmark module. This class has the following attributes:

  • names (List[str]): Name of all valid parameter
  • values (Optional[Mapping[str, List]], optional): Parameter values - usually automatically detected.
  • default (Optional[Mapping[str, str]], optional): Default parameter values.
  • keyword (Optional[List[str]], optional): Keyword to import the parameter dataset with.
  • filter (Optional[Mapping[str, str]], optional): Filter to use for the parameter space.
  • combinations (Optional[List[Mapping[str, str]]], optional): All possible parameter combinations.

The following class methods can be run on an instance of an OmniInput:

  • update_parameter(): Method to import and update parameter datasets and update the object/parameter space accordingly.

OmniOutput

Class to manage outputs of an omnibenchmark module. This class has the following attributes:

  • name (str): Name that is specific for all outputs. Typically the module name/OmniObject name.
  • out_names (List[str]): Names of the output file types
  • output_end (Optional[Mapping[str, str]], optional): Endings of the output filetypes.
  • out_template (str, optional): Template to generate output file names.
  • file_mapping (Optional[List[OutMapping]], optional): Mapping of input files, parameter values and output files.
  • inputs (Optional[OmniInput], optional): Object specifying all valid inputs.
  • parameter (Optional[OmniParameter], optional): Object speccifying the parameter space.
  • default (Optional[Mapping], optional): Default output files.
  • filter_json(Optional[str], optional): Path to json file with filter combinations.
  • template_fun (Optional[Callable[..., Mapping]], optional): Function to use to automatically generate output filenames.
  • template_vars (Optional[Mapping], optional): Variables that are used by template_fun.

The following class methods can be run on an instance of an OmniInput:

  • update_outputs(): Method to update the output definitions according to the objects attributes.

OmniCommand

Class to manage the main workflow command of an omnibenchmark module. This class has the following attributes:

  • script (Union[PathLike, str]): Path to the script run by the command
  • interpreter (str, optional): Interpreter to run the script with.
  • command_line (str, optional): Command line to be run.
  • outputs (OmniOutput, optional): Object specifying all outputs.
  • input_val (Optional[Mapping], optional): Input file tyoes and paths to run the command on.
  • parameter_val (Optional[Mapping], optional): Parameter names and values to run the command with.

The following class methods can be run on an instance of an OmniInput:

  • update_command(): Method to update the command according to the outputs,inputs,parameter.

OmniPlan

Class to manage the workflow of an omnibenchmark module. This class has the following attributes:

  • plan (PlanViewModel): A plan view model as defined in renku
  • param_mapping (Optional[Mapping[str, str]], optional): A mapping between the component names of the plan and the OmniObject.

The following class methods can be run on an instance of an OmniInput:

  • predict_mapping_from_file_dict(): Method to predict the mapping from the (input-, output-, parameter) file mapping used to generate the command.

Last update: December 11, 2023