hdf5storage.Marshallers¶
Module for the classes to marshall Python types to/from file.
|
Writes an array of objects recursively. |
|
Reads an array of objects recursively. |
Base class for marshallers of Python types. |
|
write_object_array¶
- hdf5storage.Marshallers.write_object_array(f, data, options)[source]¶
Writes an array of objects recursively.
Writes the elements of the given object array recursively in the HDF5 Group
options.group_for_referencesand returns anh5py.Referencearray to all the elements.- Parameters:
- fh5py.File
The HDF5 file handle that is open.
- datanumpy.ndarray of objects
Numpy object array to write the elements of.
- optionshdf5storage.core.Options
hdf5storage options object.
- Returns:
- numpy.ndarray of h5py.Reference
A reference array pointing to all the elements written to the HDF5 file. For those that couldn’t be written, the respective element points to the canonical empty.
- Raises:
- TypeNotMatlabCompatibleError
If writing a type not compatible with MATLAB and options.action_for_matlab_incompatible is set to
'error'.
See also
read_object_arrayhdf5storage.Options.group_for_referencesh5py.Reference
read_object_array¶
- hdf5storage.Marshallers.read_object_array(f, data, options)[source]¶
Reads an array of objects recursively.
Read the elements of the given HDF5 Reference array recursively in the and constructs a
numpy.object_array from its elements, which is returned.- Parameters:
- fh5py.File
The HDF5 file handle that is open.
- datanumpy.ndarray of h5py.Reference
The array of HDF5 References to read and make an object array from.
- optionshdf5storage.core.Options
hdf5storage options object.
- Returns:
- numpy.ndarray of numpy.object_
The Python object array containing the items pointed to by data.
- Raises:
- NotImplementedError
If reading the object from file is currently not supported.
See also
write_object_arrayhdf5storage.Options.group_for_referencesh5py.Reference
TypeMarshaller¶
- class hdf5storage.Marshallers.TypeMarshaller[source]¶
Bases:
objectBase class for marshallers of Python types.
Base class providing the class interface for marshallers of Python types to/from disk. All marshallers should inherit from this class or at least replicate its functionality. This includes several attributes that are needed in order for reading/writing methods to know if it is the appropriate marshaller to use and methods to actually do the reading and writing.
Subclasses should run this class’s
__init__()first thing. Inheritance information is in the Notes section of each method. Generally,read,write, andwrite_metadataneed to be overridden and the different attributes set to the proper values.For marshalling types that are containers of other data, one will need to appropriate read/write them with the lowlevel functions
lowlevel.read_dataandlowlevel.write_data.- Attributes:
- python_attributesset of str
Attributes used to store type information.
- matlab_attributesset of str
Attributes used for MATLAB compatibility.
- typeslist of types
Types the marshaller can work on.
- python_type_stringslist of str
Type strings of readable types.
- matlab_classeslist of str
Readable MATLAB classes.
Methods
get_type_string(data, type_string)Gets type string.
read(f, grp, name, options)Read a Python object from file.
write(f, grp, name, data, type_string, options)Writes an object's metadata to file.
write_metadata(f, grp, name, data, ...)Writes an object to file.
See also
hdf5storage.core.Optionsh5py.Dataseth5py.Grouph5py.AttributeManagerhdf5storage.lowlevel.read_datahdf5storage.lowlevel.write_data
- python_attributes = {'Python.Type'}¶
Attributes used to store type information.
set of str
setof attribute names the marshaller uses when anOption.store_python_metadataisTrue.
- matlab_attributes = {'H5PATH'}¶
Attributes used for MATLAB compatibility.
setofstrsetof attribute names the marshaller uses when maintaing Matlab HDF5 based mat file compatibility (Option.matlab_compatibleisTrue).
- types = []¶
List of Python types that can be marshalled.
list of types
listof the types (gotten by doingtype(data)) that the marshaller can marshall. Default value is[].
- python_type_strings = []¶
Type strings of readable types.
list of str
listof thestrthat the marshaller would put in the HDF5 attribute ‘Python.Type’ to identify the Python type to be able to read it back correctly. Default value is[].
- matlab_classes = []¶
MATLAB class strings of readable types.
list of str
listof the MATLAB classstrthat the marshaller can read into Python objects. Default value is[].
- get_type_string(data, type_string)[source]¶
Gets type string.
Finds the type string for ‘data’ contained in
python_type_stringsusing itstype. Non-None‘type_string` overrides whatever type string is looked up. The override makes it easier for subclasses to convert something that the parent marshaller can write to disk but still put the right type string in place).- Parameters:
- datatype to be marshalled
The Python object that is being written to disk.
- type_stringstr or None
If it is a
str, it overrides any looked up type string.Nonemeans don’t override.
- Returns:
- str
The type string associated with ‘data’. Will be ‘type_string’ if it is not
None.
Notes
Subclasses probably do not need to override this method.
- read(f, grp, name, options)[source]¶
Read a Python object from file.
Reads the Python object ‘name’ from the HDF5 Group ‘grp’, if possible, and returns it.
- Parameters:
- fh5py.File
The HDF5 file handle that is open.
- grph5py.Group or h5py.File
The parent HDF5 Group (or File if at ‘/’) that contains the object with the specified name.
- namestr
Name of the object.
- optionshdf5storage.core.Options
hdf5storage options object.
- Returns:
- data
The Python object ‘name’ in the HDF5 Group ‘grp’.
- Raises:
- NotImplementedError
If reading the object from file is currently not supported.
See also
Notes
Must be overridden in a subclass because a
NotImplementedErroris thrown immediately.
- write(f, grp, name, data, type_string, options)[source]¶
Writes an object’s metadata to file.
Writes the Python object ‘data’ to ‘name’ in h5py.Group ‘grp’.
- Parameters:
- fh5py.File
The HDF5 file handle that is open.
- grph5py.Group or h5py.File
The parent HDF5 Group (or File if at ‘/’) that contains the object with the specified name.
- namestr
Name of the object.
- data
The object to write to file.
- type_stringstr or None
The type string for data. If it is
None, one will have to be gotten byget_type_string.- optionshdf5storage.core.Options
hdf5storage options object.
- Raises:
- NotImplementedError
If writing ‘data’ to file is currently not supported.
- TypeNotMatlabCompatibleError
If writing a type not compatible with MATLAB and options.action_for_matlab_incompatible is set to
'error'.
See also
Notes
Must be overridden in a subclass because a
NotImplementedErroris thrown immediately.
- write_metadata(f, grp, name, data, type_string, options)[source]¶
Writes an object to file.
Writes the metadata for a Python object data to file at name in h5py.Group grp. Metadata is written to HDF5 Attributes. Existing Attributes that are not being used are deleted.
- Parameters:
- fh5py.File
The HDF5 file handle that is open.
- grph5py.Group or h5py.File
The parent HDF5 Group (or File if at ‘/’) that contains the object with the specified name.
- namestr
Name of the object.
- data
The object to write to file.
- type_stringstr or None
The type string for data. If it is
None, one will have to be gotten byget_type_string.- optionshdf5storage.core.Options
hdf5storage options object.
Notes
The attribute ‘Python.Type’ is set to the type string. All H5PY Attributes not in
python_attributesand/ormatlab_attributes(depending on the attributes of ‘options’) are deleted. These are needed functions for writting essentially any Python object, so subclasses should probably call the baseclass’s version of this function if they override it and just provide the additional functionality needed. This requires that the names of any additional HDF5 Attributes are put in the appropriate set.
NumpyScalarArrayMarshaller¶
- class hdf5storage.Marshallers.NumpyScalarArrayMarshaller[source]¶
Bases:
TypeMarshallerMethods
read(f, grp, name, options)Read a Python object from file.
write(f, grp, name, data, type_string, options)Writes an object's metadata to file.
write_metadata(f, grp, name, data, ...[, ...])Writes an object to file.
- python_attributes = {'Python.Type', 'Python.Shape', 'Python.Empty', 'Python.numpy.UnderlyingType', 'Python.numpy.Container', 'Python.Fields'}¶
Attributes used to store type information.
set of str
setof attribute names the marshaller uses when anOption.store_python_metadataisTrue.
- matlab_attributes = {'H5PATH', 'MATLAB_class', 'MATLAB_empty', 'MATLAB_int_decode', 'MATLAB_fields'}¶
Attributes used for MATLAB compatibility.
setofstrsetof attribute names the marshaller uses when maintaing Matlab HDF5 based mat file compatibility (Option.matlab_compatibleisTrue).
- types = [np.ndarray, np.matrix, np.chararray, np.core.records.recarray, np.bool_, np.void, np.uint8, np.uint16, np.uint32, np.uint64, np.int8, np.int16, np.int32, np.int64, np.float16, np.float32, np.float64, np.complex64, np.complex128, np.bytes_, np.str_, np.object_]¶
List of Python types that can be marshalled.
list of types
listof the types (gotten by doingtype(data)) that the marshaller can marshall. Default value is[].
- python_type_strings = ['numpy.ndarray', 'numpy.matrix', 'numpy.chararray', 'numpy.recarray', 'numpy.bool_', 'numpy.void', 'numpy.uint8', 'numpy.uint16', 'numpy.uint32', 'numpy.uint64', 'numpy.int8', 'numpy.int16', 'numpy.int32', 'numpy.int64', 'numpy.float16', 'numpy.float32', 'numpy.float64', 'numpy.complex64', 'numpy.complex128', 'numpy.bytes_', 'numpy.str_', 'numpy.object_']¶
Type strings of readable types.
list of str
listof thestrthat the marshaller would put in the HDF5 attribute ‘Python.Type’ to identify the Python type to be able to read it back correctly. Default value is[].
- matlab_classes = ['logical', 'char', 'single', 'double', 'uint8', 'uint16', 'uint32', 'uint64', 'int8', 'int16', 'int32', 'int64', 'cell', 'canonical empty']¶
MATLAB class strings of readable types.
list of str
listof the MATLAB classstrthat the marshaller can read into Python objects. Default value is[].
- read(f, grp, name, options)[source]¶
Read a Python object from file.
Reads the Python object ‘name’ from the HDF5 Group ‘grp’, if possible, and returns it.
- Parameters:
- fh5py.File
The HDF5 file handle that is open.
- grph5py.Group or h5py.File
The parent HDF5 Group (or File if at ‘/’) that contains the object with the specified name.
- namestr
Name of the object.
- optionshdf5storage.core.Options
hdf5storage options object.
- Returns:
- data
The Python object ‘name’ in the HDF5 Group ‘grp’.
- Raises:
- NotImplementedError
If reading the object from file is currently not supported.
See also
Notes
Must be overridden in a subclass because a
NotImplementedErroris thrown immediately.
- write(f, grp, name, data, type_string, options)[source]¶
Writes an object’s metadata to file.
Writes the Python object ‘data’ to ‘name’ in h5py.Group ‘grp’.
- Parameters:
- fh5py.File
The HDF5 file handle that is open.
- grph5py.Group or h5py.File
The parent HDF5 Group (or File if at ‘/’) that contains the object with the specified name.
- namestr
Name of the object.
- data
The object to write to file.
- type_stringstr or None
The type string for data. If it is
None, one will have to be gotten byget_type_string.- optionshdf5storage.core.Options
hdf5storage options object.
- Raises:
- NotImplementedError
If writing ‘data’ to file is currently not supported.
- TypeNotMatlabCompatibleError
If writing a type not compatible with MATLAB and options.action_for_matlab_incompatible is set to
'error'.
See also
Notes
Must be overridden in a subclass because a
NotImplementedErroris thrown immediately.
- write_metadata(f, grp, name, data, type_string, options, wrote_as_struct=False)[source]¶
Writes an object to file.
Writes the metadata for a Python object data to file at name in h5py.Group grp. Metadata is written to HDF5 Attributes. Existing Attributes that are not being used are deleted.
- Parameters:
- fh5py.File
The HDF5 file handle that is open.
- grph5py.Group or h5py.File
The parent HDF5 Group (or File if at ‘/’) that contains the object with the specified name.
- namestr
Name of the object.
- data
The object to write to file.
- type_stringstr or None
The type string for data. If it is
None, one will have to be gotten byget_type_string.- optionshdf5storage.core.Options
hdf5storage options object.
Notes
The attribute ‘Python.Type’ is set to the type string. All H5PY Attributes not in
python_attributesand/ormatlab_attributes(depending on the attributes of ‘options’) are deleted. These are needed functions for writting essentially any Python object, so subclasses should probably call the baseclass’s version of this function if they override it and just provide the additional functionality needed. This requires that the names of any additional HDF5 Attributes are put in the appropriate set.
PythonScalarMarshaller¶
- class hdf5storage.Marshallers.PythonScalarMarshaller[source]¶
Bases:
NumpyScalarArrayMarshallerMethods
read(f, grp, name, options)Read a Python object from file.
write(f, grp, name, data, type_string, options)Writes an object's metadata to file.
- python_attributes = {'Python.Type', 'Python.Shape', 'Python.Empty', 'Python.numpy.UnderlyingType', 'Python.numpy.Container', 'Python.Fields'}¶
Attributes used to store type information.
set of str
setof attribute names the marshaller uses when anOption.store_python_metadataisTrue.
- matlab_attributes = {'H5PATH', 'MATLAB_class', 'MATLAB_empty', 'MATLAB_int_decode'}¶
Attributes used for MATLAB compatibility.
setofstrsetof attribute names the marshaller uses when maintaing Matlab HDF5 based mat file compatibility (Option.matlab_compatibleisTrue).
- types = [bool, int, float, complex]¶
List of Python types that can be marshalled.
list of types
listof the types (gotten by doingtype(data)) that the marshaller can marshall. Default value is[].
- python_type_strings = ['bool', 'int', 'float', 'complex']¶
Type strings of readable types.
list of str
listof thestrthat the marshaller would put in the HDF5 attribute ‘Python.Type’ to identify the Python type to be able to read it back correctly. Default value is[].
- matlab_classes = []¶
MATLAB class strings of readable types.
list of str
listof the MATLAB classstrthat the marshaller can read into Python objects. Default value is[].
- read(f, grp, name, options)[source]¶
Read a Python object from file.
Reads the Python object ‘name’ from the HDF5 Group ‘grp’, if possible, and returns it.
- Parameters:
- fh5py.File
The HDF5 file handle that is open.
- grph5py.Group or h5py.File
The parent HDF5 Group (or File if at ‘/’) that contains the object with the specified name.
- namestr
Name of the object.
- optionshdf5storage.core.Options
hdf5storage options object.
- Returns:
- data
The Python object ‘name’ in the HDF5 Group ‘grp’.
- Raises:
- NotImplementedError
If reading the object from file is currently not supported.
See also
Notes
Must be overridden in a subclass because a
NotImplementedErroris thrown immediately.
- write(f, grp, name, data, type_string, options)[source]¶
Writes an object’s metadata to file.
Writes the Python object ‘data’ to ‘name’ in h5py.Group ‘grp’.
- Parameters:
- fh5py.File
The HDF5 file handle that is open.
- grph5py.Group or h5py.File
The parent HDF5 Group (or File if at ‘/’) that contains the object with the specified name.
- namestr
Name of the object.
- data
The object to write to file.
- type_stringstr or None
The type string for data. If it is
None, one will have to be gotten byget_type_string.- optionshdf5storage.core.Options
hdf5storage options object.
- Raises:
- NotImplementedError
If writing ‘data’ to file is currently not supported.
- TypeNotMatlabCompatibleError
If writing a type not compatible with MATLAB and options.action_for_matlab_incompatible is set to
'error'.
See also
Notes
Must be overridden in a subclass because a
NotImplementedErroris thrown immediately.
PythonStringMarshaller¶
- class hdf5storage.Marshallers.PythonStringMarshaller[source]¶
Bases:
NumpyScalarArrayMarshallerMethods
read(f, grp, name, options)Read a Python object from file.
write(f, grp, name, data, type_string, options)Writes an object's metadata to file.
- python_attributes = {'Python.Type', 'Python.Shape', 'Python.Empty', 'Python.numpy.UnderlyingType', 'Python.numpy.Container', 'Python.Fields'}¶
Attributes used to store type information.
set of str
setof attribute names the marshaller uses when anOption.store_python_metadataisTrue.
- matlab_attributes = {'H5PATH', 'MATLAB_class', 'MATLAB_empty', 'MATLAB_int_decode'}¶
Attributes used for MATLAB compatibility.
setofstrsetof attribute names the marshaller uses when maintaing Matlab HDF5 based mat file compatibility (Option.matlab_compatibleisTrue).
- types = [str, bytes, bytearray]¶
List of Python types that can be marshalled.
list of types
listof the types (gotten by doingtype(data)) that the marshaller can marshall. Default value is[].
- python_type_strings = ['str', 'bytes', 'bytearray']¶
Type strings of readable types.
list of str
listof thestrthat the marshaller would put in the HDF5 attribute ‘Python.Type’ to identify the Python type to be able to read it back correctly. Default value is[].
- matlab_classes = []¶
MATLAB class strings of readable types.
list of str
listof the MATLAB classstrthat the marshaller can read into Python objects. Default value is[].
- read(f, grp, name, options)[source]¶
Read a Python object from file.
Reads the Python object ‘name’ from the HDF5 Group ‘grp’, if possible, and returns it.
- Parameters:
- fh5py.File
The HDF5 file handle that is open.
- grph5py.Group or h5py.File
The parent HDF5 Group (or File if at ‘/’) that contains the object with the specified name.
- namestr
Name of the object.
- optionshdf5storage.core.Options
hdf5storage options object.
- Returns:
- data
The Python object ‘name’ in the HDF5 Group ‘grp’.
- Raises:
- NotImplementedError
If reading the object from file is currently not supported.
See also
Notes
Must be overridden in a subclass because a
NotImplementedErroris thrown immediately.
- write(f, grp, name, data, type_string, options)[source]¶
Writes an object’s metadata to file.
Writes the Python object ‘data’ to ‘name’ in h5py.Group ‘grp’.
- Parameters:
- fh5py.File
The HDF5 file handle that is open.
- grph5py.Group or h5py.File
The parent HDF5 Group (or File if at ‘/’) that contains the object with the specified name.
- namestr
Name of the object.
- data
The object to write to file.
- type_stringstr or None
The type string for data. If it is
None, one will have to be gotten byget_type_string.- optionshdf5storage.core.Options
hdf5storage options object.
- Raises:
- NotImplementedError
If writing ‘data’ to file is currently not supported.
- TypeNotMatlabCompatibleError
If writing a type not compatible with MATLAB and options.action_for_matlab_incompatible is set to
'error'.
See also
Notes
Must be overridden in a subclass because a
NotImplementedErroris thrown immediately.
PythonNoneMarshaller¶
- class hdf5storage.Marshallers.PythonNoneMarshaller[source]¶
Bases:
NumpyScalarArrayMarshallerMethods
read(f, grp, name, options)Read a Python object from file.
write(f, grp, name, data, type_string, options)Writes an object's metadata to file.
- python_attributes = {'Python.Type', 'Python.Shape', 'Python.Empty', 'Python.numpy.UnderlyingType', 'Python.numpy.Container', 'Python.Fields'}¶
Attributes used to store type information.
set of str
setof attribute names the marshaller uses when anOption.store_python_metadataisTrue.
- matlab_attributes = {'H5PATH', 'MATLAB_class', 'MATLAB_empty', 'MATLAB_int_decode'}¶
Attributes used for MATLAB compatibility.
setofstrsetof attribute names the marshaller uses when maintaing Matlab HDF5 based mat file compatibility (Option.matlab_compatibleisTrue).
- types = [builtins.NoneType]¶
List of Python types that can be marshalled.
list of types
listof the types (gotten by doingtype(data)) that the marshaller can marshall. Default value is[].
- python_type_strings = ['builtins.NoneType']¶
Type strings of readable types.
list of str
listof thestrthat the marshaller would put in the HDF5 attribute ‘Python.Type’ to identify the Python type to be able to read it back correctly. Default value is[].
- matlab_classes = []¶
MATLAB class strings of readable types.
list of str
listof the MATLAB classstrthat the marshaller can read into Python objects. Default value is[].
- read(f, grp, name, options)[source]¶
Read a Python object from file.
Reads the Python object ‘name’ from the HDF5 Group ‘grp’, if possible, and returns it.
- Parameters:
- fh5py.File
The HDF5 file handle that is open.
- grph5py.Group or h5py.File
The parent HDF5 Group (or File if at ‘/’) that contains the object with the specified name.
- namestr
Name of the object.
- optionshdf5storage.core.Options
hdf5storage options object.
- Returns:
- data
The Python object ‘name’ in the HDF5 Group ‘grp’.
- Raises:
- NotImplementedError
If reading the object from file is currently not supported.
See also
Notes
Must be overridden in a subclass because a
NotImplementedErroris thrown immediately.
- write(f, grp, name, data, type_string, options)[source]¶
Writes an object’s metadata to file.
Writes the Python object ‘data’ to ‘name’ in h5py.Group ‘grp’.
- Parameters:
- fh5py.File
The HDF5 file handle that is open.
- grph5py.Group or h5py.File
The parent HDF5 Group (or File if at ‘/’) that contains the object with the specified name.
- namestr
Name of the object.
- data
The object to write to file.
- type_stringstr or None
The type string for data. If it is
None, one will have to be gotten byget_type_string.- optionshdf5storage.core.Options
hdf5storage options object.
- Raises:
- NotImplementedError
If writing ‘data’ to file is currently not supported.
- TypeNotMatlabCompatibleError
If writing a type not compatible with MATLAB and options.action_for_matlab_incompatible is set to
'error'.
See also
Notes
Must be overridden in a subclass because a
NotImplementedErroris thrown immediately.
PythonDictMarshaller¶
- class hdf5storage.Marshallers.PythonDictMarshaller[source]¶
Bases:
TypeMarshallerMethods
read(f, grp, name, options)Read a Python object from file.
write(f, grp, name, data, type_string, options)Writes an object's metadata to file.
write_metadata(f, grp, name, data, ...)Writes an object to file.
- python_attributes = {'Python.Type', 'Python.Fields'}¶
Attributes used to store type information.
set of str
setof attribute names the marshaller uses when anOption.store_python_metadataisTrue.
- matlab_attributes = {'H5PATH', 'MATLAB_class', 'MATLAB_fields'}¶
Attributes used for MATLAB compatibility.
setofstrsetof attribute names the marshaller uses when maintaing Matlab HDF5 based mat file compatibility (Option.matlab_compatibleisTrue).
- types = [dict]¶
List of Python types that can be marshalled.
list of types
listof the types (gotten by doingtype(data)) that the marshaller can marshall. Default value is[].
- python_type_strings = ['dict']¶
Type strings of readable types.
list of str
listof thestrthat the marshaller would put in the HDF5 attribute ‘Python.Type’ to identify the Python type to be able to read it back correctly. Default value is[].
- matlab_classes = []¶
MATLAB class strings of readable types.
list of str
listof the MATLAB classstrthat the marshaller can read into Python objects. Default value is[].
- read(f, grp, name, options)[source]¶
Read a Python object from file.
Reads the Python object ‘name’ from the HDF5 Group ‘grp’, if possible, and returns it.
- Parameters:
- fh5py.File
The HDF5 file handle that is open.
- grph5py.Group or h5py.File
The parent HDF5 Group (or File if at ‘/’) that contains the object with the specified name.
- namestr
Name of the object.
- optionshdf5storage.core.Options
hdf5storage options object.
- Returns:
- data
The Python object ‘name’ in the HDF5 Group ‘grp’.
- Raises:
- NotImplementedError
If reading the object from file is currently not supported.
See also
Notes
Must be overridden in a subclass because a
NotImplementedErroris thrown immediately.
- write(f, grp, name, data, type_string, options)[source]¶
Writes an object’s metadata to file.
Writes the Python object ‘data’ to ‘name’ in h5py.Group ‘grp’.
- Parameters:
- fh5py.File
The HDF5 file handle that is open.
- grph5py.Group or h5py.File
The parent HDF5 Group (or File if at ‘/’) that contains the object with the specified name.
- namestr
Name of the object.
- data
The object to write to file.
- type_stringstr or None
The type string for data. If it is
None, one will have to be gotten byget_type_string.- optionshdf5storage.core.Options
hdf5storage options object.
- Raises:
- NotImplementedError
If writing ‘data’ to file is currently not supported.
- TypeNotMatlabCompatibleError
If writing a type not compatible with MATLAB and options.action_for_matlab_incompatible is set to
'error'.
See also
Notes
Must be overridden in a subclass because a
NotImplementedErroris thrown immediately.
- write_metadata(f, grp, name, data, type_string, options)[source]¶
Writes an object to file.
Writes the metadata for a Python object data to file at name in h5py.Group grp. Metadata is written to HDF5 Attributes. Existing Attributes that are not being used are deleted.
- Parameters:
- fh5py.File
The HDF5 file handle that is open.
- grph5py.Group or h5py.File
The parent HDF5 Group (or File if at ‘/’) that contains the object with the specified name.
- namestr
Name of the object.
- data
The object to write to file.
- type_stringstr or None
The type string for data. If it is
None, one will have to be gotten byget_type_string.- optionshdf5storage.core.Options
hdf5storage options object.
Notes
The attribute ‘Python.Type’ is set to the type string. All H5PY Attributes not in
python_attributesand/ormatlab_attributes(depending on the attributes of ‘options’) are deleted. These are needed functions for writting essentially any Python object, so subclasses should probably call the baseclass’s version of this function if they override it and just provide the additional functionality needed. This requires that the names of any additional HDF5 Attributes are put in the appropriate set.
PythonListMarshaller¶
- class hdf5storage.Marshallers.PythonListMarshaller[source]¶
Bases:
NumpyScalarArrayMarshallerMethods
read(f, grp, name, options)Read a Python object from file.
write(f, grp, name, data, type_string, options)Writes an object's metadata to file.
- python_attributes = {'Python.Type', 'Python.Shape', 'Python.Empty', 'Python.numpy.UnderlyingType', 'Python.numpy.Container', 'Python.Fields'}¶
Attributes used to store type information.
set of str
setof attribute names the marshaller uses when anOption.store_python_metadataisTrue.
- matlab_attributes = {'H5PATH', 'MATLAB_class', 'MATLAB_empty', 'MATLAB_int_decode'}¶
Attributes used for MATLAB compatibility.
setofstrsetof attribute names the marshaller uses when maintaing Matlab HDF5 based mat file compatibility (Option.matlab_compatibleisTrue).
- types = [list]¶
List of Python types that can be marshalled.
list of types
listof the types (gotten by doingtype(data)) that the marshaller can marshall. Default value is[].
- python_type_strings = ['list']¶
Type strings of readable types.
list of str
listof thestrthat the marshaller would put in the HDF5 attribute ‘Python.Type’ to identify the Python type to be able to read it back correctly. Default value is[].
- matlab_classes = []¶
MATLAB class strings of readable types.
list of str
listof the MATLAB classstrthat the marshaller can read into Python objects. Default value is[].
- read(f, grp, name, options)[source]¶
Read a Python object from file.
Reads the Python object ‘name’ from the HDF5 Group ‘grp’, if possible, and returns it.
- Parameters:
- fh5py.File
The HDF5 file handle that is open.
- grph5py.Group or h5py.File
The parent HDF5 Group (or File if at ‘/’) that contains the object with the specified name.
- namestr
Name of the object.
- optionshdf5storage.core.Options
hdf5storage options object.
- Returns:
- data
The Python object ‘name’ in the HDF5 Group ‘grp’.
- Raises:
- NotImplementedError
If reading the object from file is currently not supported.
See also
Notes
Must be overridden in a subclass because a
NotImplementedErroris thrown immediately.
- write(f, grp, name, data, type_string, options)[source]¶
Writes an object’s metadata to file.
Writes the Python object ‘data’ to ‘name’ in h5py.Group ‘grp’.
- Parameters:
- fh5py.File
The HDF5 file handle that is open.
- grph5py.Group or h5py.File
The parent HDF5 Group (or File if at ‘/’) that contains the object with the specified name.
- namestr
Name of the object.
- data
The object to write to file.
- type_stringstr or None
The type string for data. If it is
None, one will have to be gotten byget_type_string.- optionshdf5storage.core.Options
hdf5storage options object.
- Raises:
- NotImplementedError
If writing ‘data’ to file is currently not supported.
- TypeNotMatlabCompatibleError
If writing a type not compatible with MATLAB and options.action_for_matlab_incompatible is set to
'error'.
See also
Notes
Must be overridden in a subclass because a
NotImplementedErroris thrown immediately.
PythonTupleSetDequeMarshaller¶
- class hdf5storage.Marshallers.PythonTupleSetDequeMarshaller[source]¶
Bases:
PythonListMarshallerMethods
read(f, grp, name, options)Read a Python object from file.
write(f, grp, name, data, type_string, options)Writes an object's metadata to file.
- python_attributes = {'Python.Type', 'Python.Shape', 'Python.Empty', 'Python.numpy.UnderlyingType', 'Python.numpy.Container', 'Python.Fields'}¶
Attributes used to store type information.
set of str
setof attribute names the marshaller uses when anOption.store_python_metadataisTrue.
- matlab_attributes = {'H5PATH', 'MATLAB_class', 'MATLAB_empty', 'MATLAB_int_decode'}¶
Attributes used for MATLAB compatibility.
setofstrsetof attribute names the marshaller uses when maintaing Matlab HDF5 based mat file compatibility (Option.matlab_compatibleisTrue).
- types = [tuple, set, frozenset, collections.deque]¶
List of Python types that can be marshalled.
list of types
listof the types (gotten by doingtype(data)) that the marshaller can marshall. Default value is[].
- python_type_strings = ['tuple', 'set', 'frozenset', 'collections.deque']¶
Type strings of readable types.
list of str
listof thestrthat the marshaller would put in the HDF5 attribute ‘Python.Type’ to identify the Python type to be able to read it back correctly. Default value is[].
- matlab_classes = []¶
MATLAB class strings of readable types.
list of str
listof the MATLAB classstrthat the marshaller can read into Python objects. Default value is[].
- read(f, grp, name, options)[source]¶
Read a Python object from file.
Reads the Python object ‘name’ from the HDF5 Group ‘grp’, if possible, and returns it.
- Parameters:
- fh5py.File
The HDF5 file handle that is open.
- grph5py.Group or h5py.File
The parent HDF5 Group (or File if at ‘/’) that contains the object with the specified name.
- namestr
Name of the object.
- optionshdf5storage.core.Options
hdf5storage options object.
- Returns:
- data
The Python object ‘name’ in the HDF5 Group ‘grp’.
- Raises:
- NotImplementedError
If reading the object from file is currently not supported.
See also
Notes
Must be overridden in a subclass because a
NotImplementedErroris thrown immediately.
- write(f, grp, name, data, type_string, options)[source]¶
Writes an object’s metadata to file.
Writes the Python object ‘data’ to ‘name’ in h5py.Group ‘grp’.
- Parameters:
- fh5py.File
The HDF5 file handle that is open.
- grph5py.Group or h5py.File
The parent HDF5 Group (or File if at ‘/’) that contains the object with the specified name.
- namestr
Name of the object.
- data
The object to write to file.
- type_stringstr or None
The type string for data. If it is
None, one will have to be gotten byget_type_string.- optionshdf5storage.core.Options
hdf5storage options object.
- Raises:
- NotImplementedError
If writing ‘data’ to file is currently not supported.
- TypeNotMatlabCompatibleError
If writing a type not compatible with MATLAB and options.action_for_matlab_incompatible is set to
'error'.
See also
Notes
Must be overridden in a subclass because a
NotImplementedErroris thrown immediately.