HDFql
the easy way to manage HDF5 data
Join the many research organizations, data-driven corporations, and universities across the globe who use HDFql. It’s free.

FEATURES

Simple

Designed to be as simple as SQL. Hides complex operations and frees users from HDF5 low-level details

Reliable

Unfailing robustness and reliability. HDFql is checked against hundreds of existing tests before new versions are released

Clean

Offers a clean interface requiring just a few intuitive statements even for complex operations. Gone are the days where HDF5 required endless lines of code

Writes

Unlike other tools, HDFql not only reads HDF5 but also allows you to write HDF5 data

Fast

Processes data using all nodes and cores available. This means much higher volumes of data may be (pre-/post-) processed in the same amount of time

Portable

Portable across C, C++, Java, Python, C#, Fortran and R using one uniform high-level (declarative) language

Intuitive

Based on models of human cognition and natural language. Fast learning curve

Platforms

Supports Windows, Linux, macOS

FROM NINETEEN TO JUST TWO LINES OF CODE

HDFql is the first high-level (declarative) language to manage HDF5 data. Designed to be as simple and powerful as SQL, it dramatically reduces the learning effort and time needed to handle HDF5. Built on intuitive syntax, HDFql offers a clean interface which reads and writes HDF5 data across programming languages and platforms.

Not only that, HDFql is so easy that even first time users instantly get it. Because it is based on natural language, you just tell HDFql what to do. This is in stark contrast to other APIs, which require users to specify all the intricate details of how to handle HDF5. That is how HDFql enables users to go from 19 lines of highly complex code to just 2 lines of simple code.

As an example, imagine that you need to create an HDF5 file named “my_file.h5” and, inside it, a group named “my_group” containing a one dimensional (size 3) dataset named “my_dataset” of data type integer. Additionally, the dataset is compressed using ZLIB and initialized with values 4, 8 and 6. In HDFql, this can easily be implemented as follows:

create and use file my_file.h5
create dataset my_group/my_dataset as int(3) enable zlib values(4, 8, 6)
In contrast, using the C API on the same example is quite cumbersome:
hid_t file;
hid_t group;
hid_t dataspace;
hid_t property;
hid_t dataset;
hsize_t dimension;
int value[3];
file = H5Fcreate("my_file.h5", H5F_ACC_EXCL, H5P_DEFAULT, H5P_DEFAULT);
group = H5Gcreate(file, "my_group", H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
dimension = 3;
dataspace = H5Screate_simple(1, &dimension, NULL);
property = H5Pcreate(H5P_DATASET_CREATE);
H5Pset_chunk(property, 1, &dimension);
H5Pset_deflate(property, 9);
dataset = H5Dcreate(group, "my_dataset", H5T_NATIVE_INT, dataspace, H5P_DEFAULT, property, H5P_DEFAULT);
value[0] = 4;
value[1] = 8;
value[2] = 6;
H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, &value);

USERS

ABOUT

HDFql was launched by a team of interdisciplinary experts with vast experience from CERN, global Fortune 50 industry and world-renowned research facilities. We believe managing (scientific) data should be simple and fast, and we’re especially passionate about the promises of machine learning in cleantech, healthtech and science.

DOCUMENTATION

h
QUICK START
h
REFERENCE MANUAL
h
LICENSE
h
RELEASE NOTES
h
NEWS
h
HDF GROUP BLOG

DOWNLOAD

 
Architecture Serial/Parallel File
32 bit Serial HDFql-2.5.0_Windows32.zip
64 bit Serial HDFql-2.5.0_Windows64.zip
 
 
 
 

More releases…

 
Architecture Serial/Parallel File
32 bit Serial HDFql-2.5.0_Linux32.zip
32 bit Parallel (MPICH) HDFql-2.5.0_Linux32_MPICH-3.2.zip
32 bit Parallel (Open MPI) HDFql-2.5.0_Linux32_OpenMPI-2.1.zip
64 bit Serial HDFql-2.5.0_Linux64.zip
64 bit Parallel (MPICH) HDFql-2.5.0_Linux64_MPICH-3.2.zip
64 bit Parallel (Open MPI) HDFql-2.5.0_OpenMPI-2.1.zip

More releases…

 
Architecture Serial/Parallel File
64 bit Serial HDFql-2.5.0_Darwin64.zip
64 bit Parallel (MPICH) HDFql-2.5.0_Darwin64_MPICH-3.2.zip
64 bit Parallel (Open MPI) HDFql-2.5.0_Darwin64_OpenMPI-2.1.zip
 
 
 

More releases…

CONTACT

Reach out to us at  or simply use this form
We are always glad to hear from you!

4 + 1 =