docs: def _dumpNdarrayToFile(filelike, ndarray):
      """Serializes an N-dimensional ``numpy.array`` to bytes, writes the bytes to
      the filelike object and returns a dictionary with metadata, necessary to
      restore the ``numpy.array`` from the file.
  
      :param filelike: can be a file or a file-like object that provides the
          methods ``.write()`` and ``.tell()``.
      :param ndarray: a N-dimensional ``numpy.array``
  
      :returns: a metadata dictionary ::
          {'start': start position in the file, 'end': end position in the file,
           'size': size of the array, 'dtype': numpy data type of the array,
           'shape': description of the array shape
           }
      """
      bytedata = ndarray.tobytes('C')
      start = filelike.tell()
      end = start + len(bytedata)
      metadata = {'start': start, 'end': end, 'size': ndarray.size,
                  'dtype': ndarray.dtype.name, 'shape': ndarray.shape
                  }
      filelike.write(bytedata)
      return metadata