Introduction

HDF5 is a portable file format for storing large datasets efficiently. With official low-level API’s for C and Fortran, wrappers for C++ and Java and third-party bindings to Python, Julia, Matlab and many others, HDF5 is a great tool for manipulating data in a collaborative setting.

Although well documented, the low-level C API is vast and using it directly can be challenging. There are many high-level wrappers already that help the user experience, but as a matter of opinion, things could be even simpler.

h5pp is a high-level C++17 wrapper of the HDF5 C library which aims to be simple to use:

  • Read and write common C++ types in a single line of code.

  • No prior knowledge of HDF5 is required.

  • Meaningful logs and error messages.

  • Use HDF5 with modern, idiomatic, type-safe C++.

  • Simple options common tasks, e.g. for file access, storage layout, hyperslabs, chunking and compression.

  • Simple installation with modular dependencies and opt-in automation.

  • Simple documentation (work in progress).