HDFql was designed to be as simple as SQL and to offer a one-stop solution across programming languages. This frees users from low-level details and learning the specificities of individual languages. In contrast to current APIs (where numerous lines of code are often needed), HDFql offers a clean interface requiring just a few intuitive statements even for complex operations. Whenever possible, HDFql automatically uses parallelism to speed up operations (by using all CPU cores available). This means much higher volumes of data are processed in the same amount of time. Because reliability and quality of tools are crucial in the field of data management, HDFql is automatically checked against hundreds of existing tests before new versions are released.

  • Clean interface
  • Reads and writes HDF data
  • Portable across programming languages (C, C++, Java, Python, C# and Fortran)
  • Portable across platforms (Windows, Linux and Mac OS X)
  • Employs automatic parallelism whenever possible
  • Supports chunked datasets
  • Supports extendible datasets
  • Supports variable-length datatypes
  • Supports opaque datatypes
  • Supports hyperslab selection

  • Support R and Julia
  • Support BLAS operations on the fly
  • Support dynamically loaded filters
  • Support compound datatypes
  • Support enumeration datatypes
  • Support virtual dataset (VDS) functionalities
  • Support single-writer/multiple-reader (SWMR) functionalities
  • Support direct chunk write/read
  • Support parallel HDF5 (PHDF5)
  • Support access to distributed data stored in HDF and OPeNDAP Hyrax servers
  • Support H5Q and H5X APIs (querying/indexing features from The HDF Group)