principia_materia.io_interface.hdf5_wrapper module
- class principia_materia.io_interface.hdf5_wrapper.HDF5Wrapper(title=None)
Bases:
BaseDataWrapper
Save/load data in/from HDF5 file.
A object oriented wrapper to save and load data in and from HDF5 files. This allows us to easily save some custom defined data types into HDF5 supported types.
- Parameters:
title (str, default to None) – A comment description for the file. The title is not used when saving/loading HDF5 files.
- add_item(key, choices=None, dtype=None, load_dtype=None, save_dtype=None, optional=False)
Add an item of data to the container.
- Parameters:
key (str) – The name of the item to be save in the data file.
dtype (str, default to None) – Data type of the item. The corresponding save/load functions will be used to save/load the item.
load_dtype (str or callable, default to None) – The function to load the item.
save_dtype (str or callable, default to None) – The function to save the item.
optional (bool, default to False) – Whether the item is optional.
help (str, default to None) – The description of the item.
alias (list of str, default to None) – A list aliases of the item keyword.
depends (list of str, default to None) – The keywords that are required when the item is present.
- dump(data, filename, allow_missing=False, overwrite=False)
Save data into HDF5 file.
- Parameters:
data (dict) – The dictionary containing data to be saved.
filename (str) – The name of the file to save the data into,
allow_missing (bool, optional, default to False) – Whether to allow a declared key not to exists in the data dictionary.
overwrite (bool, optional, default to False) – When the file exists, whether to replace the content of the file with the content to be saved.
- dump_h5file(data, h5file, allow_missing=False)
Save data into HDF5 through a h5py.File/h5py.Group object.
This allows us to save data into a HDF5 group within a HDF5 file.
- Parameters:
data (dict) – The dictionary containing data to be saved.
h5file (h5py.File/h5py.Group object) – The h5py.File/h5py.Group object to save the data into.
allow_missing (bool, optional, default to False) – Whether to allow a declared key not to exists in the data dictionary.
- dumps(data, allow_missing=False)
Dump the data into string
- Parameters:
data (dict) – The dictionary containing data to be saved.
allow_missing (bool, optional, default to False) – Whether to allow a declared key not to exists in the data dictionary.
- load(filename, allow_missing=False)
Load data from HDF5 file
- Parameters:
filename (str) – The name of the file to save the data into,
allow_missing (bool, optional, default to False) – Whether to allow a declared key not to exists in the data dictionary.
- load_h5file(h5file, allow_missing=False)
Load data from HDF5 through a h5py.File/h5py.Group object.
This allows us to load data from a HDF5 group within a HDF5 file.
- Parameters:
h5file (h5py.File/h5py.Group object) – The h5py.File/h5py.Group object to save the data into.
allow_missing (bool, optional, default to False) – Whether to allow a declared key not to exists in the data dictionary.
- loads(text, allow_missing=False, allow_unknown=False, load_unknown=False)
Load the data from a string
- Parameters:
text (str) – Data in text format,
allow_missing (bool, optional, default to False) – Whether to allow a declared key not to exists in the data dictionary.
allow_unknown (bool, optional, default to False) – Whether to allow keys not declared in the container. Though even if allowed, those keys will not be loaded if load_unknown == False.
load_unknown (bool, optional, default to False) – Whether to load keys not declared in the container to be loaded in raw.