class_docstr: Base class for IO arguments that are represented individually as columns in the catalog.
docstr: The parameters like shape, data type are passed as parameters to be initialized
  
  Args:
      shape (tuple[int]): a tuple of integers of the required shape.
      dtype (str): datatype of the elements. Types are int32, float16 and float32.
code: def __init__(
      self,
      name: str = None,
      type: ColumnType = None,
      is_nullable: bool = None,
      array_type: NdArrayType = None,
      array_dimensions: Tuple[int] = None,
  ) -> None:
      """The parameters like shape, data type are passed as parameters to be initialized
  
      Args:
          shape (tuple[int]): a tuple of integers of the required shape.
          dtype (str): datatype of the elements. Types are int32, float16 and float32.
  
      """
      self.name = name
      self.type = type
      self.is_nullable = is_nullable
      self.array_type = array_type
      self.array_dimensions = array_dimensions
  
file_path: evadb/evadb/functions/decorators/io_descriptors/abstract_types.py
imports: from abc import ABC, abstractmethod
  from typing import List, Tuple, Type
  from evadb.catalog.catalog_type import ColumnType, NdArrayType
  from evadb.catalog.models.function_io_catalog import FunctionIOCatalogEntry
label_desc: Use image node_id 1 to create a new IOColumnArgument object from inherited base classes: IOArgument with example: obj = IOColumnArgument(name, type, is_nullable, array_type, array_dimensions)