def main(self):
        """
        The main function to be called
        ```
        if __name__ == '__main__':
            launcher = Launcher()
            launcher.main()
        ```
        """
        argv = sys.argv[1:]
        parser_args = argv
        config_args = []
        if '--' in argv:
            index = argv.index('--')
            parser_args = argv[:index]
            config_args = argv[index + 1:]
        parser = ArgumentParser(description='launch a surreal component')
        parser.add_argument('component_name',
                            type=str,
                            help='which component to launch')
        args = parser.parse_args(parser_args)

        self.config_args = config_args

        self.setup(config_args)
        self.launch(args.component_name)

        The main function to be called
        ```
        if __name__ == '__main__':
            launcher = Launcher()
            launcher.main()
        ```
        
surreal/launch/launcher.py