class_docstr: Abstract artifact repo that defines how to upload (log) and download potentially large
  artifacts from different storage backends.
class_docstr_tok: ["Abstract","artifact","repo","that","defines","how","to","upload","(","log",")","and","download","potentially","large","artifacts","from","different","storage","backends","."]
code: def _create_thread_pool(self):
      return ThreadPoolExecutor(max_workers=self.max_workers)
  
imports: import logging
  import os
  import posixpath
  from abc import ABC, ABCMeta, abstractmethod
  from concurrent.futures import ThreadPoolExecutor, as_completed
  from typing import List, Optional
  from mlflow.entities.file_info import FileInfo
  from mlflow.entities.multipart_upload import CreateMultipartUploadResponse, MultipartUploadPart
  from mlflow.environment_variables import MLFLOW_ENABLE_ARTIFACTS_PROGRESS_BAR
  from mlflow.exceptions import MlflowException
  from mlflow.protos.databricks_pb2 import INVALID_PARAMETER_VALUE, RESOURCE_DOES_NOT_EXIST
  from mlflow.utils.annotations import developer_stable
  from mlflow.utils.file_utils import ArtifactProgressBar, create_tmp_dir
  from mlflow.utils.validation import bad_path_message, path_not_unique
label_desc: Use image node_id 2 for calling the ArtifactRepository obj's underlying member method code with example usage: obj._create_thread_pool() and returns: ThreadPoolExecutor