code: def build_components(widget_list):
    '''
    :param widget_list: list of dicts containing widget info (name, type, etc..)
    :return: ComponentList
  
    Converts the Json widget information into concrete wx Widget types
    '''
    required_args, optional_args  = partition(widget_list, is_required)
    checkbox_args, general_args = partition(map(build_widget, optional_args), is_checkbox)
  
    required_args = map(build_widget, required_args)
    optional_args = general_args + checkbox_args
  
    return ComponentList(required_args, optional_argsf build_components(widget_list):
    '''
    :param widget_list: list of dicts containing widget info (name, type, etc..)
    :return: ComponentList
  
    Converts the Json widget information into concrete wx Widget types
    '''
    required_args, optional_args  = partition(widget_list, is_required)
    checkbox_args, general_args = partition(map(build_widget, optional_args), is_checkbox)
  
    required_args = map(build_widget, required_args)
    optional_args = general_args + checkbox_args
  
    return ComponentList(required_args, optional_args)
docs: :param widget_list: list of dicts containing widget info (name, type, etc..)
    :return: ComponentList
  
    Converts the Json widget information into concrete wx Widget types