code: def canonical_py_execute(
      script_path,
      args=None,
      check_exit_code=True,
      shell=False,
      timeout=None,
      cwd=None,
      env=None,
      stdin=None,
      stderr=None,
      creationflags=0,
      file_name=None,
      save_locally=False,
      close_fds=False,
      diff_tool=None,
      diff_file_name=None,
      diff_tool_timeout=None,
      data_transformer=None,
  ):
      """
      Shortcut to execute a python script and canonize its stdout
      :param script_path: path to the script arcadia relative
      :param args: script arguments
      :param check_exit_code: will raise ExecutionError if the command exits with non zero code
      :param shell: use shell to run the command
      :param timeout: execution timeout
      :param cwd: working directory
      :param env: command environment
      :param stdin: command stdin
      :param stderr: command stderr
      :param creationflags: command creation flags
      :param file_name: output file name. if not specified program name will be used
      :param diff_tool: path to custome diff tool
      :param diff_file_name: custom diff file name to create when diff is found
      :param diff_tool_timeout: timeout for running diff tool
      :param data_transformer: data modifier (before canonize)
      :return: object that can be canonized
      """
      command = [runtime.source_path(script_path)] + _prepare_args(args)
      if shell:
          command = " ".join(command)
      execute_args = locals()
      del execute_args["script_path"]
      del execute_args["args"]
      del execute_args["file_name"]
      del execute_args["save_locally"]
      del execute_args["diff_tool"]
      del execute_args["diff_file_name"]
      del execute_args["diff_tool_timeout"]
      del execute_args["data_transformer"]
      return _canonical_execute(
          process.py_execute,
          execute_args,
          file_name,
          save_locally,
          diff_tool,
          diff_file_name,
          diff_tool_timeout,
          data_transformer,
      )
  
file_path: catboost/library/python/testing/yatest_common/yatest/common/canonical.py
imports: import os
  import logging
  import shutil
  import tempfile
  import six
  from .None import process
  from .None import runtime
  from .None import path
label_desc: Use image node_id 5 for calling a global function with example usage: canonical_py_execute(script_path, args, check_exit_code, shell, timeout, cwd, env, stdin, stderr, creationflags, file_name, save_locally, close_fds, diff_tool, diff_file_name, diff_tool_timeout, data_transformer) and returns: _canonical_execute