class_docstr: Interface to write and read from shared memory. Whereas PlasmaArray writes to plasma on serialization,
  PlasmaView writes to shared memory on instantiation.
class_docstr_tok: ["Interface","to","write","and","read","from","shared","memory",".","Whereas","PlasmaArray","writes","to","plasma","on","serialization",",","PlasmaView","writes","to","shared","memory","on","instantiation","."]
docstr: Args:
      array: numpy array to store. This can be read with ``PlasmaView().array``
      split_path: the path whence the data was read, used for hashing
      hash_data: other metadata about the array that can be used to create a unique key.
          as of writing, the 3 callers in ``TokenBlockDataset`` use::
  
              hash_data = ((block_size, document_sep_len, str(break_mode), len(dataset)), 0|1|2)
docstr_tok: ["Args",":","array",":","numpy","array","to","store",".","This","can","be","read","with","``","PlasmaView","(",")",".array","``","split_path",":","the","path","whence","the","data","was","read",",","used","for","hashing","hash_data",":","other","metadata","about","the","array","that","can","be","used","to","create","a","unique","key",".","as","of","writing",",","the","3","callers","in","``","TokenBlockDataset","``","use",":",":","hash_data","=","(","(","block_size",",","document_sep_len",",","str","(","break_mode",")",",","len","(","dataset",")",")",",","0|1|2",")"]
code: def __init__(
      self,
      array,
      split_path: str,
      hash_data: Hashable,
      plasma_path=None,
  ):
      """
      Args:
          array: numpy array to store. This can be read with ``PlasmaView().array``
          split_path: the path whence the data was read, used for hashing
          hash_data: other metadata about the array that can be used to create a unique key.
              as of writing, the 3 callers in ``TokenBlockDataset`` use::
  
                  hash_data = ((block_size, document_sep_len, str(break_mode), len(dataset)), 0|1|2)
  
  
      """
      assert PYARROW_AVAILABLE
      assert split_path is not None
      if plasma_path is None:
          plasma_path = DEFAULT_PLASMA_PATH
  
      self.path = plasma_path
      self.split_path = split_path
      self._client = None  # Initialize lazily for pickle. plasma clients should not be deep copied or serialized.
      self._n = None
  
      self.object_id = self.get_object_id(self.split_path, hash_data)
      try:
          self.client.put(array, object_id=self.object_id)
      except plasma.PlasmaObjectExists:
          pass
  
imports: import hashlib
  import json
  import subprocess
  import tempfile
  from typing import Hashable
label_desc: Use image node_id 1 to create a new PlasmaView object  with example: obj = PlasmaView(array, split_path, hash_data, plasma_path)