. currentmodule:: silx.io

commonh5: Helpers for writing h5py-like API#

This module contains generic objects, emulating h5py groups, datasets and files. They are used in spech5 and fabioh5.

Classes#

class Node(name, parent=None, attrs=None)[source]#

This is the base class for all spech5 and fabioh5 classes. It represents a tree node, and knows its parent node (parent). The API mimics a h5py node, with following attributes: file, attrs, name, and basename.

property h5_class#

Returns the HDF5 class which is mimicked by this class.

Return type:

H5Type

property h5py_class#

Returns the h5py classes which is mimicked by this class. It can be one of h5py.File, h5py.Group or h5py.Dataset

This should not be used anymore. Prefer using h5_class

Return type:

Class

property parent#

Returns the parent of the node.

Return type:

Node

property file#

Returns the file node of this node.

Return type:

Node

property attrs#

Returns HDF5 attributes of this node.

Return type:

dict

property name#

Returns the HDF5 name of this node.

property basename#

Returns the HDF5 basename of this node.

class File(name=None, mode=None, attrs=None)[source]#

Bases: Group

This class is the special Group that is the root node of the tree structure. It mimics h5py.File.

property h5_class#

Returns the h5py.File class

close()[source]#

Close the object, and free up associated resources.

class Group(name, parent=None, attrs=None)[source]#

Bases: Node

This class mimics a h5py.Group.

get(name, default=None, getclass=False, getlink=False)[source]#

Retrieve an item or other information.

If getlink only is true, the returned value is always h5py.HardLink, because this implementation do not use links. Like the original implementation.

Parameters:
  • name (str) – name of the item

  • default (object) – default value returned if the name is not found

  • getclass (bool) – if true, the returned object is the class of the object found

  • getlink (bool) – if true, links object are returned instead of the target

Returns:

An object, else None

Return type:

object

__getitem__(name)[source]#

Return a child from his name.

Parameters:

name (str) – name of a member or a path throug members using ‘/’ separator. A ‘/’ as a prefix access to the root item of the tree.

Return type:

Node

__contains__(name)[source]#

Returns true if name is an existing child of this group.

Return type:

bool

__len__()[source]#

Returns the number of children contained in this group.

Return type:

int

__iter__()[source]#

Iterate over member names

keys()[source]#

Returns an iterator over the children’s names in a group.

values()[source]#

Returns an iterator over the children nodes (groups and datasets) in a group.

Added in version 0.6.

items()[source]#

Returns items iterator containing name-node mapping.

Return type:

iterator

visit(func, visit_links=False)[source]#

Recursively visit all names in this group and subgroups. See the documentation for h5py.Group.visit for more help.

Parameters:

func (callable) – Callable (function, method or callable object)

visititems(func, visit_links=False)[source]#

Recursively visit names and objects in this group. See the documentation for h5py.Group.visititems for more help.

Parameters:
  • func (callable) – Callable (function, method or callable object)

  • visit_links (bool) – If False, ignore links. If True, call func(name) for links and recurse into target groups.

property name#

Returns the HDF5 name of this node.

property basename#

Returns the HDF5 basename of this node.

property file#

Returns the file node of this node.

Return type:

Node

property attrs#

Returns HDF5 attributes of this node.

Return type:

dict

property h5py_class#

Returns the h5py classes which is mimicked by this class. It can be one of h5py.File, h5py.Group or h5py.Dataset

This should not be used anymore. Prefer using h5_class

Return type:

Class

property parent#

Returns the parent of the node.

Return type:

Node

class Dataset(name, data, parent=None, attrs=None)[source]#

Bases: Node

This class handles a numpy data object, as a mimicry of a h5py.Dataset.

property h5_class#

Returns the HDF5 class which is mimicked by this class.

Return type:

H5Type

property dtype#

Returns the numpy datatype exposed by this dataset.

Return type:

numpy.dtype

property shape#

Returns the shape of the data exposed by this dataset.

Return type:

tuple

property size#

Returns the size of the data exposed by this dataset.

Return type:

int

property value#

Returns the data exposed by this dataset.

Deprecated by h5py. It is prefered to use indexing [()].

Return type:

numpy.ndarray

property compression#

Returns compression as provided by h5py.Dataset.

There is no compression.

property compression_opts#

Returns compression options as provided by h5py.Dataset.

There is no compression.

property chunks#

Returns chunks as provided by h5py.Dataset.

There is no chunks.

property is_virtual#

Checks virtual data as provided by h5py.Dataset

virtual_sources()[source]#

Returns virtual dataset sources as provided by h5py.Dataset.

Return type:

list

property external#

Returns external sources as provided by h5py.Dataset.

Return type:

list or None