class_docstr: Prepares and uploads customer provided configs to S3
class_docstr_tok: ["Prepares","and","uploads","customer","provided","configs","to","S3"]
docstr: Upload the training step dependencies to S3 if present
docstr_tok: ["Upload","the","training","step","dependencies","to","S3","if","present"]
code: def _prepare_and_upload_workspace(
      self,
      local_dependencies_path: str,
      include_local_workdir: bool,
      pre_execution_commands: List[str],
      pre_execution_script_local_path: str,
      s3_base_uri: str,
      s3_kms_key: str,
      sagemaker_session: Session,
      custom_file_filter: Optional[
          Union[Callable[[str, List], List], CustomFileFilter]
      ] = None,
  ) -> str:
      """Upload the training step dependencies to S3 if present"""
      return _prepare_and_upload_workspace(
          local_dependencies_path=local_dependencies_path,
          include_local_workdir=include_local_workdir,
          pre_execution_commands=pre_execution_commands,
          pre_execution_script_local_path=pre_execution_script_local_path,
          s3_base_uri=s3_base_uri,
          s3_kms_key=s3_kms_key,
          sagemaker_session=sagemaker_session,
          custom_file_filter=custom_file_filter,
      )
  
file_path: sagemaker-python-sdk/src/sagemaker/feature_store/feature_processor/_config_uploader.py
imports: from __future__ import absolute_import
  from typing import Callable, Dict, Optional, Tuple, List, Union
  import attr
  from sagemaker import Session
  from sagemaker.feature_store.feature_processor._constants import SPARK_JAR_FILES_PATH, SPARK_PY_FILES_PATH, SPARK_FILES_PATH, S3_DATA_DISTRIBUTION_TYPE
  from sagemaker.inputs import TrainingInput
  from sagemaker.remote_function.core.stored_function import StoredFunction
  from sagemaker.remote_function.job import _prepare_and_upload_workspace, _prepare_and_upload_runtime_scripts, _JobSettings, RUNTIME_SCRIPTS_CHANNEL_NAME, REMOTE_FUNCTION_WORKSPACE, SPARK_CONF_CHANNEL_NAME, _prepare_and_upload_spark_dependent_files
  from sagemaker.remote_function.runtime_environment.runtime_environment_manager import RuntimeEnvironmentManager
  from sagemaker.remote_function.spark_config import SparkConfig
  from sagemaker.remote_function.custom_file_filter import CustomFileFilter
  from sagemaker.s3 import s3_path_join
label_desc: Use image node_id 3 for calling the ConfigUploader obj's underlying member method code with example usage: obj._prepare_and_upload_workspace(local_dependencies_path, include_local_workdir, pre_execution_commands, pre_execution_script_local_path, s3_base_uri, s3_kms_key, sagemaker_session, custom_file_filter) and returns: _prepare_and_upload_workspace