def METHOD_NAME(config_dict: dict, read_only: bool = False) -> "DataHubLiteLocal":
    lite_local_config = LiteLocalConfig.parse_obj(config_dict)
    lite_type = lite_local_config.type
    try:
        lite_class = lite_registry.get(lite_type)
    except KeyError:
        raise Exception(
            f"Failed to find a registered lite implementation for {lite_type}. Valid values are {[k for k in lite_registry.mapping.keys()]}"
        )
    lite_specific_config = lite_class.get_config_class().parse_obj(
        lite_local_config.config
    )
    lite = lite_class(lite_specific_config)
    # we only set up forwarding if forwarding config is present and read_only is set to False
    if lite_local_config.forward_to and not read_only:
        forward_sink_class = sink_registry.get(lite_local_config.forward_to.type)
        if forward_sink_class is not None:
            current_time = int(time.time() * 1000.0)
            try:
                forward_to = forward_sink_class.create(
                    lite_local_config.forward_to.config or {},
                    PipelineContext(run_id=f"lite-forward_{current_time}"),
                )
                return DataHubLiteWrapper(lite, forward_to)
            except Exception as e:
                logger.warning(
                    f"Failed to set up forwarding due to {e}, will not forward events"
                )
                logger.debug(
                    "Failed to set up forwarding, will not forward events", exc_info=e
                )
                return lite
        else:
            raise Exception(
                f"Failed to find a registered forwarding sink for type {lite_local_config.forward_to.type}. Valid values are {[k for k in sink_registry.mapping.keys()]}"
            )
    else:
        return lite