code: def __new__(
      cls, x: Union[Tuple, List, np.ndarray], cspace: str, dtype=None
  ):
      if not isinstance(x, (tuple, list, np.ndarray)):
          raise TypeError("Data needs to be (ideally) a list")
  
      if not isinstance(cspace, str) and cspace is not None:
          raise TypeError(
              f"`cspace` needs to be of type <string>, not {type(cspace)}"
          )
  
      obj = np.asarray(x, dtype=dtype).view(cls)
      obj.dtype = obj.dtype
  
      return obj
  
file_path: caer/caer/coreten/tensor.py
imports: import numpy
  from ..annotations import Union, Tuple, List
  from ._tensor_str import _str
  from ._tensor_base import _TensorBase
label_desc: Use image node_id 1 for calling the Tensor obj's underlying member method code with example usage: obj.__new__(cls, x, cspace, dtype) and returns: obj