code: def __init__(
      self,
      data_inputs: Dict[
          str,
          AllowArtifactDescribes[
              Union[
                  "DataframeArtifactDescribe",
                  "DataDirectoryArtifactDescribe",
              ]
          ],
      ] = None,
      model_inputs: Dict[
          str,
          AllowArtifactDescribes[
              Union[
                  "JsonModelArtifactDescribe",
                  "ModelDirectoryArtifactDescribe",
              ]
          ],
      ] = None,
      data_outputs: Dict[
          str,
          AllowArtifactDescribes[
              Union[
                  "DataframeArtifactDescribe",
                  "DataDirectoryArtifactDescribe",
              ]
          ],
      ] = None,
      model_outputs: Dict[
          str,
          AllowArtifactDescribes[
              Union[
                  "JsonModelArtifactDescribe",
                  "ModelDirectoryArtifactDescribe",
              ]
          ],
      ] = None,
  ):
      if data_inputs is None:
          data_inputs = {}
      if model_inputs is None:
          model_inputs = {}
      if data_outputs is None:
          data_outputs = {}
      if model_outputs is None:
          model_outputs = {}
      self.data_inputs = data_inputs
      self.model_inputs = model_inputs
      self.data_outputs = data_outputs
      self.model_outputs = model_outputs
      self.metric_outputs = {}
      self._keys = (
          self.data_outputs.keys()
          | self.model_outputs.keys()
          | self.metric_outputs.keys()
          | self.data_inputs.keys()
          | self.model_inputs.keys()
      )
  
      # invisible artifact: metrics
      from .artifacts import json_metric_output
  
      self.add(
          name="metric",
          annotation=json_metric_output(
              [], desc="metric, invisible for user", optional=False
          ),
      )
  
imports: import typing
  from typing import Dict, List, Type, Union
label_desc: Use image node_id 1 to create a new ComponentArtifactDescribes object  with example: obj = ComponentArtifactDescribes(data_inputs, model_inputs, data_outputs, model_outputs)