code: def read_hdf5_array(source, path=None, array_type=Array):
      
      dataset = io_hdf5.find_dataset(source, path=path)
      attrs = dict(dataset.attrs)
      # unpickle channel object
      try:
          attrs['channel'] = _unpickle_channel(attrs['channel'])
      except KeyError:  # no channel stored
          pass
      # unpack byte strings for python3
      for key in attrs:
          if isinstance(attrs[key], bytes):
              attrs[key] = attrs[key].decode('utf-8')
      return array_type(dataset[()], **attrs)
docs: Read an `Array` from the given HDF5 object
  
      Parameters
      ----------
      source : `str`, :class:`h5py.HLObject`
          path to HDF file on disk, or open `h5py.HLObject`.
  
      path : `str`
          path in HDF hierarchy of dataset.
  
      array_type : `type`
          desired return type