class_docstr: Attribute type for objects that implement the Array protocol, including numpy arrays
  and pennylane.math.tensor.
code: def __post_init__(self, value: TensorLike) -> None:
      super().__post_init__(value)
  
      array_interface = get_interface(value)
      if array_interface not in ("numpy", "autograd"):
          raise TypeError(
              f"Expected a 'numpy.ndarray' or 'pennylane.numpy.tensor' array, got '{type(value).__name__}'"
          )
  
      self.info["array_interface"] = array_interface
  
      if array_interface == "autograd":
          self.info["requires_grad"] = value.requires_grad
  
file_path: pennylane/pennylane/data/attributes/array.py
imports: import numpy
  from pennylane.data.base.attribute import AttributeInfo, DatasetAttribute
  from pennylane.data.base.hdf5 import HDF5Array, HDF5Group
  from pennylane.math import array, get_interface
  from pennylane.typing import TensorLike
label_desc: Use image node_id 1 for calling the DatasetArray obj's underlying member method code with example usage: obj.__post_init__(value) without return types