class_docstr: Mixin of helpers to allow upload of custom metadata.
docstr: Creates custom metadata config from a list of configurations.
  
  Args:
      name:
          The name of the custom metadata configuration.
      configs:
          List of metadata configuration entries.
  
  Returns:
      The API response.
  
  Examples:
      >>> from lightly.openapi_generated.swagger_codegen.models.configuration_entry import ConfigurationEntry
      >>> entry = ConfigurationEntry(
      >>>     name='Weather',
      >>>     path='weather',
      >>>     default_value='unknown',
      >>>     value_data_type='CATEGORICAL_STRING',
      >>> )
      >>>
      >>> client.create_custom_metadata_config(
      >>>     'My Custom Metadata',
      >>>     [entry],
      >>> )
  
  :meta private:  # Skip docstring generation
docstr_tok: ["Creates","custom","metadata","config","from","a","list","of","configurations",".","Args",":","name",":","The","name","of","the","custom","metadata","configuration",".","configs",":","List","of","metadata","configuration","entries",".","Returns",":","The","API","response",".","Examples",":",">",">",">","from","lightly.openapi_generated.swagger_codegen.models.configuration_entry","import","ConfigurationEntry",">",">",">","entry","=","ConfigurationEntry","(",">",">",">","name='Weather","'",",",">",">",">","path='weather","'",",",">",">",">","default_value='unknown","'",",",">",">",">","value_data_type='CATEGORICAL_STRING","'",",",">",">",">",")",">",">",">",">",">",">","client.create_custom_metadata_config","(",">",">",">","'My","Custom","Metadata","'",",",">",">",">","[","entry","]",",",">",">",">",")",":","meta","private",":","#","Skip","docstring","generation"]
code: def create_custom_metadata_config(
      self, name: str, configs: List[ConfigurationEntry]
  ) -> Response:
      """Creates custom metadata config from a list of configurations.
  
      Args:
          name:
              The name of the custom metadata configuration.
          configs:
              List of metadata configuration entries.
  
      Returns:
          The API response.
  
      Examples:
          >>> from lightly.openapi_generated.swagger_codegen.models.configuration_entry import ConfigurationEntry
          >>> entry = ConfigurationEntry(
          >>>     name='Weather',
          >>>     path='weather',
          >>>     default_value='unknown',
          >>>     value_data_type='CATEGORICAL_STRING',
          >>> )
          >>>
          >>> client.create_custom_metadata_config(
          >>>     'My Custom Metadata',
          >>>     [entry],
          >>> )
  
      :meta private:  # Skip docstring generation
      """
      config_set_request = ConfigurationSetRequest(
          name=name, configs=configs
      )
      resp = self._metadata_configurations_api.create_meta_data_configuration(
          configuration_set_request=config_set_request,
          dataset_id=self.dataset_id,
      )
      return resp
  
file_path: lightly/lightly/api/api_workflow_upload_metadata.py
imports: from concurrent.futures import ThreadPoolExecutor
  from typing import Any, Dict, List, Union
  from requests import Response
  from tqdm import tqdm
  from lightly.api.utils import paginate_endpoint, retry
  from lightly.openapi_generated.swagger_client.models import ConfigurationEntry, ConfigurationSetRequest, SampleDataModes, SamplePartialMode, SampleUpdateRequest
  from lightly.utils import hipify
  from lightly.utils.io import COCO_ANNOTATION_KEYS
label_desc: Use image node_id 4 for calling the _UploadCustomMetadataMixin obj's underlying member method code with example usage: obj.create_custom_metadata_config(name, configs) and returns: resp