@io_hdf5.with_read_hdf5<EOL>def read_hdf5_array(source, path=None, array_type=Array):
dataset = io_hdf5.find_dataset(source, path=path)<EOL>attrs = dict(dataset.attrs)<EOL>try:<EOL><INDENT>attrs['<STR_LIT>'] = _unpickle_channel(attrs['<STR_LIT>'])<EOL><DEDENT>except KeyError:  <EOL><INDENT>pass<EOL><DEDENT>for key in attrs:<EOL><INDENT>if isinstance(attrs[key], bytes):<EOL><INDENT>attrs[key] = attrs[key].decode('<STR_LIT:utf-8>')<EOL><DEDENT><DEDENT>return array_type(dataset[()], **attrs)<EOL>
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