class_docstr: A backend that stores the chain in an HDF5 file using h5py
  
  .. note:: You must install `h5py <http://www.h5py.org/>`_ to use this
      backend.
  
  Args:
      filename (str): The name of the HDF5 file where the chain will be
          saved.
      name (str; optional): The name of the group where the chain will
          be saved.
      read_only (bool; optional): If ``True``, the backend will throw a
          ``RuntimeError`` if the file is opened with write access.
class_docstr_tok: ["A","backend","that","stores","the","chain","in","an","HDF5","file","using","h5py","..","note",":",":","You","must","install","`","h5py","<","http",":","\/\/www.h5py.org\/",">","`","_","to","use","this","backend",".","Args",":","filename","(","str",")",":","The","name","of","the","HDF5","file","where","the","chain","will","be","saved",".","name","(","str",";","optional",")",":","The","name","of","the","group","where","the","chain","will","be","saved",".","read_only","(","bool",";","optional",")",":","If","``","True","``",",","the","backend","will","throw","a","``","RuntimeError","``","if","the","file","is","opened","with","write","access","."]
docstr: Save a step to the backend
  
  Args:
      state (State): The :class:`State` of the ensemble.
      accepted (ndarray): An array of boolean flags indicating whether
          or not the proposal for each walker was accepted.
docstr_tok: ["Save","a","step","to","the","backend","Args",":","state","(","State",")",":","The",":","class",":","`","State","`","of","the","ensemble",".","accepted","(","ndarray",")",":","An","array","of","boolean","flags","indicating","whether","or","not","the","proposal","for","each","walker","was","accepted","."]
code: def save_step(self, state, accepted):
      """Save a step to the backend
  
      Args:
          state (State): The :class:`State` of the ensemble.
          accepted (ndarray): An array of boolean flags indicating whether
              or not the proposal for each walker was accepted.
  
      """
      self._check(state, accepted)
  
      with self.open("a") as f:
          g = f[self.name]
          iteration = g.attrs["iteration"]
  
          g["chain"][iteration, :, :] = state.coords
          g["log_prob"][iteration, :] = state.log_prob
          if state.blobs is not None:
              g["blobs"][iteration, :] = state.blobs
          g["accepted"][:] += accepted
  
          for i, v in enumerate(state.random_state):
              g.attrs["random_state_{0}".format(i)] = v
  
          g.attrs["iteration"] = iteration + 1
  
imports: from __future__ import division, print_function
  import os
  from tempfile import NamedTemporaryFile
  import numpy
  from ..None import __version__
  from .backend import Backend
label_desc: Use image node_id 12 for calling the HDFBackend obj's underlying member method code with example usage: obj.save_step(state, accepted) without return types