Skip to content

Latest commit

 

History

History
29 lines (29 loc) · 1.4 KB

File metadata and controls

29 lines (29 loc) · 1.4 KB

Features

  • Simple and structured way to represent data as a set of named properties within and between software
  • Simple type system where data type are specified as a basic type and size Supported basic types includes:
    • binary blob (any size)
    • boolean (system-dependent size, typically 8 bits)
    • integer (8, 16, 32, 64 bits)
    • unsigned integer (8, 16, 32, 64 bits)
    • float (32, 64, [80, 128] bits)
    • fixed string (any size, always NUL-terminated)
    • string pointer (pointer to malloc'ed string, NUL-terminated)
    • relation (subject-predicate-object triplet)
    • dimension (only intended for metadata)
    • property (only intended for metadata)
  • Supports units and multi-dimensional arrays
  • Fully implemented metadata model as presented by Thomas Hagelien
  • Builtin HDF5, JSON, YAML and PostgreSQL storage plugins
  • Plugin system for user-provided storage drivers
  • Memory for metadata and instances is reference counted
  • Lookup of metadata and instances at pre-defined locations (initiated from the DLITE_STORAGES environment variable)
  • Template-based code generation, including templates for C and Fortran
  • Plugin system for mappings that maps instances of a set of input metadata to an output instance
  • Fortran bindings
  • Python bindings
  • Embedding of Python allowing writing storage and mapping plugins in Python