Low-Level API

This documentation mostly describes the h5py high-level API, which offers the main features of HDF5 in an interface modelled on dictionaries and NumPy arrays. h5py also provides a low-level API, which more closely follows the HDF5 C API.

You can easily switch between the two levels in your code:

  • To the low-level: High-level File, Group and Dataset objects all have a .id attribute exposing the corresponding low-level objects—FileID, GroupID and DatasetID:

    dsid = dset.id
    dsid.get_offset()  # Low-level method

    Although there is no high-level object for a single attribute, AttributeManager.get_id() will get the low-level AttrID object:

    aid = dset.attrs.get_id('timestamp')
    aid.get_storage_size()  # Low-level method
  • To the high-level: Low-level FileID, GroupID and DatasetID objects can be passed to the constructors of File, Group and Dataset, respectively.