Welcome to h5gt’s documentation!

To see C++ API documentation please refer to tierra-colada.github.io/h5gt/

About

There are several C++ wrappers for HDF5 C library. One of them is HighFive project. h5gt is created upon it. So the API is pretty similar.

Generally one may prefer using h5gt only if python bindings are needed. Otherwise one should consider using HighFive.

Originally the project was started as part of a free and open source geophysical platform Colada.

Also h5geo project actively uses h5gt.

License

Boost Software License 1.0

Build instructions

Pre-requisites

  • CMake

  • compiler with C++17 support

  • python (optional)

Dependencies

h5gtpy dependencies

  • python

  • Eigen (header only, required)

Configure & Build

git clone https://github.com/tierra-colada/h5gt.git
cd h5gt
mkdir build
cd build
   cmake ..
  -DH5GT_BUILD_h5gtpy=ON
  -DPYTHON_EXECUTABLE=/path/to/python.exe
  -DH5GT_USE_EIGEN=ON
  -DEigen3_ROOT=/path/to/eigen3
  -DHDF5_DIR=/path/to/hdf5-config.cmake
  -DHDF5_RUNTIME_DIRS=/path/to/hdf5-runtime
  -DZLIB_RUNTIME_DIRS=/path/to/zlib-runtime
  -DH5GTPY_COPY_RUNTIME_DEPS=OFF
cmake --build .
  # CMake settings
  -DCMAKE_BUILD_TYPE=Release
  -G "some generator"
cmake --build . --config Release
cmake --install . --prefix /path/to/h5gt-install

Note

If you see that some of the dependencies were not resolved at installation step then change <lib>_RUNTIME_DIRS, rerun cmake & cmake install steps.

Warning

H5GTPY_COPY_RUNTIME_DEPS copies all the resolved runtimes to site-packages/h5gtpy dir. There might be OS-specific runtimes that nobody wants to copy. Thus this option is not recommended yet.

Supported platforms

Windows, Linux, MacOS

Examples

For examples please referer to src/examples.

Indices and tables