HDF.PInvoke.NETStandard
.NET Standard 2.0 port
This is an unofficial port of HDF.PInvoke from the HDF group to .NET Standard 2.0 by Sebastian Urban. It has been tested on Linux, MacOS and Microsoft Windows.
The source code is available at https://github.com/surban/HDF.PInvoke. Please use this GitHub repository to report issues and send pull requests.
What it is (not)
HDF.PInvoke is a collection of PInvoke signatures for the HDF5 C-API. It's practically code-free, which means we can blame all the bugs on Microsoft or The HDF Group.
It is not a high-level .NET interface for HDF5. "It's the GCD of .NET bindings for HDF5, not the LCM."
Supported platforms
This package supports and has been tested on 64-bit versions of Linux, MacOS and Microsoft Windows.
Multithreaded operation
All HDF5 operations in this library are thread-safe as described in the official document, i.e. HDF5 operations from multiple threads are automatically serialized.
API documentation
A full API reference of the .NET interface is provided. See the official HDF5 support page for a usage guide.
Installation
To install the latest HDF.PInvoke 1.10 for .NET core, run the following command inside your project directory.
dotnet add package HDF.PInvoke.NETStandard
You can also grab the NuGet package from https://www.nuget.org/packages/HDF.PInvoke.NETStandard.
Native dependencies
The HDF5 native libraries for all supported platforms are included in the NuGet package. For Windows, you additionally require the Visual C++ runtime, which is available from Microsoft as Visual C++ Redistributable Packages for Visual Studio 2017.
License
HDF.PInvoke is part of HDF5. It is subject to the same terms and conditions as HDF5. Please review https://support.hdfgroup.org/ftp/HDF5/releases/COPYING for the details. If you have any questions, please contact the HDF group.
Supporting HDF.PInvoke
The best way to support HDF.PInvoke is to contribute to it either by reporting bugs, writing documentation (e.g., the cookbook), or sending pull requests.