# HDF5 binding to the D programming language

**URL:** <https://forum.hdfgroup.org/t/hdf5-binding-to-the-d-programming-language/13626>\
**Category:** News and Announcements\
**Created:** [December 11, 2025, 11:22pm UTC](https://forum.hdfgroup.org/t/hdf5-binding-to-the-d-programming-language/13626 "2025-12-11T23:22:21Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![dejan.lekic](https://forum.hdfgroup.org/user_avatar/forum.hdfgroup.org/dejan.lekic/32/2093_2.png) [@dejan.lekic](https://forum.hdfgroup.org/u/dejan.lekic)\
**Post date:** [December 11, 2025, 11:22pm UTC](https://forum.hdfgroup.org/t/hdf5-binding-to-the-d-programming-language/13626/1 "2025-12-11T23:22:21Z")

</div>

I have just pushed my D (programming language) bindings to the libhdf5 and libhdf5\_hl libraries to the following repository: [ddn/ddn-lib-hdf5: D language bindings and wrapper for HDF5. - Codeberg.org](https://codeberg.org/ddn/ddn-lib-hdf5)

DUB package is also registered and located at the usual place: [Package ddn-lib-hdf5 version 1.14.6 - DUB - The D package registry](https://code.dlang.org/packages/ddn-lib-hdf5)

By default libhdf5 and libhdf5\_hl libraries are linked dynamically. Developer can always change it to static linking by changing the DUB configuration to “static” (`dub build –config=static`)

README.md file contains a “Quick Start” section that explains how to create a tiny D project, add the binding as dependency, and build and run a tiny demo application. Repository itself contains a more serious demo applications.

I really hope there are people here who are interested in the D programming language and would spend some time giving this package a try. - It will not take more than few minutes if you follow the “Quck Start” guide.

_Every single_ function and type in the bindings is documented DDoc-style ( [Documentation Generator - D Programming Language](https://dlang.org/spec/ddoc.html) ), and docs are as close to the original (from the HDF5 library code) as possible. Same goes for the high-level wrapper. HDF5 public API has around 3180 functions, that should give you some ideas how much work was needed for this.

Bindings should work on Windows, but I had no time to test it there. My primary platform is Linux. More specifically Amazon Linux, RHEL and Fedora. Speaking about Linux - it probably will not work (without tiny change) on Linux distributions where HDF5 library is named `libhdf5_serial`. I will fix this over the weekend.

D Forum Announcement: [HDF5 for D - D Programming Language Discussion Forum](https://forum.dlang.org/post/rifntqnvvayyorjccpcv@forum.dlang.org)

Any feedback will be greatly appreciated. Kind regards and MERRY XMASS!
