def run(
        self,
        command_name: Optional[str] = None,
        config_updates: Optional[dict] = None,
        named_configs: Sequence[str] = (),
        info: Optional[dict] = None,
        meta_info: Optional[dict] = None,
        options: Optional[dict] = None,
    ) -> Run:
        """
        Run the main function of the experiment or a given command.

        Parameters
        ----------
        command_name
            Name of the command to be run. Defaults to main function.

        config_updates
            Changes to the configuration as a nested dictionary

        named_configs
            list of names of named_configs to use

        info
            Additional information for this run.

        meta_info
            Additional meta information for this run.

        options
            Dictionary of options to use

        Returns
        -------
        The Run object corresponding to the finished run.
        """
        run = self._create_run(
            command_name, config_updates, named_configs, info, meta_info, options
        )
        run()
        return run

        Run the main function of the experiment or a given command.

        Parameters
        ----------
        command_name
            Name of the command to be run. Defaults to main function.

        config_updates
            Changes to the configuration as a nested dictionary

        named_configs
            list of names of named_configs to use

        info
            Additional information for this run.

        meta_info
            Additional meta information for this run.

        options
            Dictionary of options to use

        Returns
        -------
        The Run object corresponding to the finished run.
        
sacred/experiment.py