code: def save_config(
      config: Config,
      output_file: Path,
      is_stdout: bool = False,
      silent: bool = False,
  ) -> None:
      no_print = is_stdout or silent
      msg = Printer(no_print=no_print)
      if is_stdout:
          print(config.to_str())
      else:
          if not output_file.parent.exists():
              output_file.parent.mkdir(parents=True)
          config.to_disk(output_file, interpolate=False)
          msg.good("Saved config", output_file)
          msg.text("You can now add your data and train your pipeline:")
          variables = [
              "--paths.train ./train.spacy",
              "--paths.dev ./dev.spacy",
          ]
          if not no_print:
              print(
                  f"{COMMAND} train {output_file.parts[-1]} {' '.join(variables)}"
              )
  
imports: import re
  from enum import Enum
  from pathlib import Path
  from typing import List, Optional, Tuple
  import srsly
  from jinja2 import Template
  from thinc.api import Config
  from wasabi import Printer, diff_strings
  from ..None import util
  from ..language import DEFAULT_CONFIG_PRETRAIN_PATH
  from ..schemas import RecommendationSchema
  from ..util import SimpleFrozenList
  from ._util import COMMAND, Arg, Opt, import_code, init_cli, show_validation_error, string_to_list
label_desc: Use image node_id 5 for calling a global function with example usage: save_config(config, output_file, is_stdout, silent) without return types