class_docstr: Lightweight NDArray class of TVM runtime.
  
  Strictly this is only an Array Container (a buffer object)
  No arthimetic operations are defined.
  All operations are performed by TVM functions.
  
  The goal is not to re-build yet another array library.
  Instead, this is a minimal data structure to demonstrate
  how can we use TVM in existing project which might have their own array containers.
code: def __hash__(self):
      return ctypes.cast(self.handle, ctypes.c_void_p).value
  
imports: import ctypes
  import warnings
  import numpy
  import tvm._ffi
  from tvm._ffi.base import _LIB, check_call, c_array, string_types, _FFI_MODE
  from tvm._ffi.runtime_ctypes import DataType, Device, TVMArray, TVMArrayHandle
  from tvm._ffi.runtime_ctypes import DataTypeCode, tvm_shape_index_t
  from .None import _ffi_api
label_desc: Use image node_id 5 for calling the NDArray obj's underlying member method code with example usage: obj.__hash__() and returns: ctypes