sloth.groups: data groups

This module implements Notes on the data model.

sloth.groups.h5base: generic HDF5-like Groups/Datasets

Basic data groups that mimics HDF5 tree-like structure

Note

The implementation stricty follows the one in silx.io.spech5 expanding it by disentanglig from the Spec file.

Notes

  • silx.io.commonh5 is the base layer here. This module provides silx.io.commonh5.Node (object) that is a layer on top of h5py. The base classes for groups and datasets are, respectively, silx.io.commonh5.Group (Node) and silx.io.commonh5.Dataset (Node).

  • The base structure is:

    /NXroot (Group)
        NXentry (Group)
            (Dataset)
            NXentry
                (Dataset)
        ...
            ...
                ...
                    ....
    
class sloth.groups.baseh5.BaseGroup(name, parent=None, attrs=None, logger=None)[source]

Base group used to build the tree structure

add_group(name, attrs=None, cls=None)[source]

Add Group

add_dataset(name, data, attrs=None, cls=None)[source]

Add Group

write_to_h5(filename, overwrite=False)[source]

Write the whole tree to file

class sloth.groups.baseh5.RootGroup(mode=None, logger=None, in_memory=False)[source]

Root group (= ‘/’)

Description

This is inspired from commonh5.File providing an equivalent object to h5py.File. It creates and open a temporary File object (file or memory) were the data are loaded in.

property h5_class

Returns the h5py.File class

close()[source]

Close the object, and free up associated resources.

class sloth.groups.baseh5.EntryGroup(name, parent=None, attrs=None, logger=None)[source]

Generic group entry in the tree structure

Note

This is equivalent to silx.io.spech5.ScanGroup

class sloth.groups.baseh5.BaseDataset(name, data, parent=None, attrs=None)[source]

Base dataset used to insert data in a group

sloth.groups.baseh5.test_example(write=True, view=True)[source]

Test example for sloth.groups.h5base