code: def df_config():
      data = generate_df_with_reg_for_tests(
          freq="W-MON",
          periods=140,
          remove_extra_cols=True,
          mask_test_actuals=True,
      )
      reg_cols = ["regressor1", "regressor2", "regressor_categ"]
      keep_cols = [TIME_COL, VALUE_COL] + reg_cols
      df = data["df"][keep_cols]
  
      model_template = "SILVERKITE"
      evaluation_metric = EvaluationMetricParam(
          cv_selection_metric=EvaluationMetricEnum.MeanAbsoluteError.name,
          agg_periods=7,
          agg_func=np.max,
          null_model_params={
              "strategy": "quantile",
              "constant": None,
              "quantile": 0.5,
          },
      )
      evaluation_period = EvaluationPeriodParam(
          test_horizon=10,
          periods_between_train_test=5,
          cv_horizon=4,
          cv_min_train_periods=80,
          cv_expanding_window=False,
          cv_periods_between_splits=20,
          cv_periods_between_train_test=3,
          cv_max_splits=3,
      )
      model_components = ModelComponentsParam(
          regressors={"regressor_cols": reg_cols},
          custom={
              "fit_algorithm_dict": {
                  "fit_algorithm": "ridge",
                  "fit_algorithm_params": {"cv": 2},
              }
          },
      )
      computation = ComputationParam(verbose=2)
      forecast_horizon = 27
      coverage = 0.90
      config = ForecastConfig(
          model_template=model_template,
          computation_param=computation,
          coverage=coverage,
          evaluation_metric_param=evaluation_metric,
          evaluation_period_param=evaluation_period,
          forecast_horizon=forecast_horizon,
          model_components_param=model_components,
      )
      return {
          "df": df,
          "config": config,
          "model_template": model_template,
          "reg_cols": reg_cols,
      }
  
imports: import sys
  import warnings
  from enum import Enum
  import numpy
  import pandas
  import pytest
  from testfixtures import LogCapture
  from greykite.common.constants import LOGGER_NAME
  from greykite.common.constants import PREDICTED_LOWER_COL
  from greykite.common.constants import PREDICTED_UPPER_COL
  from greykite.common.constants import TIME_COL
  from greykite.common.constants import VALUE_COL
  from greykite.common.data_loader import DataLoader
  from greykite.common.evaluation import EvaluationMetricEnum
  from greykite.common.python_utils import assert_equal
  from greykite.common.testing_utils import generate_df_for_tests
  from greykite.common.testing_utils import generate_df_with_reg_for_tests
  from greykite.framework.templates.autogen.forecast_config import ComputationParam
  from greykite.framework.templates.autogen.forecast_config import EvaluationMetricParam
  from greykite.framework.templates.autogen.forecast_config import EvaluationPeriodParam
  from greykite.framework.templates.autogen.forecast_config import ForecastConfig
  from greykite.framework.templates.autogen.forecast_config import MetadataParam
  from greykite.framework.templates.autogen.forecast_config import ModelComponentsParam
  from greykite.framework.templates.forecaster import Forecaster
  from greykite.framework.templates.model_templates import ModelTemplate
  from greykite.framework.templates.model_templates import ModelTemplateEnum
  from greykite.framework.templates.prophet_template import ProphetTemplate
  from greykite.framework.templates.silverkite_template import SilverkiteTemplate
  from greykite.framework.templates.simple_silverkite_template import SimpleSilverkiteTemplate
  from greykite.framework.templates.simple_silverkite_template_config import SILVERKITE_COMPONENT_KEYWORDS
  from greykite.framework.templates.simple_silverkite_template_config import SimpleSilverkiteTemplateOptions
  from greykite.framework.utils.framework_testing_utils import assert_basic_pipeline_equal
  from greykite.framework.utils.framework_testing_utils import assert_forecast_pipeline_result_equal
  from greykite.framework.utils.framework_testing_utils import check_forecast_pipeline_result
  from greykite.framework.utils.result_summary import summarize_grid_search_results
label_desc: Use image node_id 1 for calling a global function with example usage: df_config() and returns: dict