# hdf5storage.lowlevel

Module of Exceptions and low level read and write functions.

`Hdf5storageError` | Base class of hdf5storage package exceptions.
`CantReadError` | Exception for a failure to read the desired data.
`TypeNotMatlabCompatibleError` | Exception for trying to write non-MATLAB compatible data.
`write_data`(f, grp, name, data, type_string, ...) | Writes a piece of data into an open HDF5 file.
`read_data`(f, grp, name, options) | Writes a piece of data into an open HDF5 file.

## Hdf5storageError

exception `hdf5storage.lowlevel.``Hdf5storageError`

  Bases: `exceptions.IOError`

  Base class of hdf5storage package exceptions.

## CantReadError

exception `hdf5storage.lowlevel.``CantReadError`

  Bases: `hdf5storage.lowlevel.Hdf5storageError`

  Exception for a failure to read the desired data.

## TypeNotMatlabCompatibleError

exception `hdf5storage.lowlevel.``TypeNotMatlabCompatibleError`

  Bases: `hdf5storage.lowlevel.Hdf5storageError`

  Exception for trying to write non-MATLAB compatible data.

  In the event that MATLAB compatibility is being done (`Options.matlab_compatible`) and a Python type is not importable by MATLAB, the data is either not written or this exception is thrown depending on the value of `Options.action_for_matlab_incompatible`.

  See also

  `hdf5storage.Options.matlab_compatible`, `hdf5storage.Options.action_for_matlab_incompatible`

## write_data

`hdf5storage.lowlevel.``write_data`(f, grp, name, data, type_string, options)

  Writes a piece of data into an open HDF5 file.

  Low level function to store a Python type (data) into the specified Group.

  Parameters:

  f : h5py.File

  > The open HDF5 file.

  grp : h5py.Group or h5py.File

  > The Group to place the data in.

  name : str

  > The name to write the data to.

  data : any

  > The data to write.

  type_string : str or None

  > The type string of the data, or `None` to deduce automatically.

  options : hdf5storage.core.Options

  > The options to use when writing.

  Raises:

  NotImplementedError

  > If writing data is not supported.

  TypeNotMatlabCompatibleError

  > If writing a type not compatible with MATLAB and options.action_for_matlab_incompatible is set to `'error'`.

  See also

  `hdf5storage.core.write`
    Higher level version.

  `read_data`, `hdf5storage.core.Options`

## read_data

`hdf5storage.lowlevel.``read_data`(f, grp, name, options)

  Writes a piece of data into an open HDF5 file.

  Low level function to read a Python type of the specified name from specified Group.

  Parameters:

  f : h5py.File

  > The open HDF5 file.

  grp : h5py.Group or h5py.File

  > The Group to read the data from.

  name : str

  > The name of the data to read.

  options : hdf5storage.core.Options

  > The options to use when reading.

  Returns:

  data

  > The data named name in Group grp.

  Raises:

  CantReadError

  > If the data cannot be read successfully.

  See also

  `hdf5storage.core.read`
    Higher level version.

  `write_data`, `hdf5storage.core.Options`