nanoutils.hdf5_utils

An module with various h5py-related utilities.

Index

RecursiveKeysView(f)

Create a recursive view of all dataset names.

RecursiveValuesView(f)

Create a recursive view of all <Datasets>h5py.Dataset.

RecursiveItemsView(f)

Create a recursive view of all name/Dataset pairs.

API

class nanoutils.RecursiveKeysView(f)[source]

Create a recursive view of all dataset names.

Examples

>>> import h5py
>>> from nanoutils import RecursiveKeysView

>>> filename: str = ...  

>>> with h5py.File(filename, 'a') as f:
...     a = f.create_group('a')
...     b = f['a'].create_group('b')
...
...     dset1 = f.create_dataset('dset1', (10,), dtype=float)
...     dset2 = f['a'].create_dataset('dset2', (10,), dtype=float)
...     dset3 = f['a']['b'].create_dataset('dset3', (10,), dtype=float)
...
...     print(RecursiveKeysView(f))
<RecursiveKeysView ['/a/b/dset3',
                    '/a/dset2',
                    '/dset1']>
Parameters:

f (h5py.Group) – The to-be iterated h5py group of file.

Returns:

A recursive view of all dataset names within the passed group or file.

Return type:

KeysView[str]

class nanoutils.RecursiveValuesView(f)[source]

Create a recursive view of all <Datasets>h5py.Dataset.

Examples

>>> import h5py
>>> from nanoutils import RecursiveValuesView

>>> filename: str = ...  

>>> with h5py.File(filename, 'a') as f:
...     a = f.create_group('a')
...     b = f['a'].create_group('b')
...
...     dset1 = f.create_dataset('dset1', (10,), dtype=float)
...     dset2 = f['a'].create_dataset('dset2', (10,), dtype=float)
...     dset3 = f['a']['b'].create_dataset('dset3', (10,), dtype=float)
...
...     print(RecursiveValuesView(f))
<RecursiveValuesView [<HDF5 dataset "dset3": shape (10,), type "<f8">,
                      <HDF5 dataset "dset2": shape (10,), type "<f8">,
                      <HDF5 dataset "dset1": shape (10,), type "<f8">]>
Parameters:

f (h5py.Group) – The to-be iterated h5py group of file.

Returns:

A recursive view of all datasets within the passed group or file.

Return type:

ValuesView[h5py.Dataset]

class nanoutils.RecursiveItemsView(f)[source]

Create a recursive view of all name/Dataset pairs.

Examples

>>> import h5py
>>> from nanoutils import RecursiveItemsView

>>> filename: str = ...  

>>> with h5py.File(filename, 'a') as f:
...     a = f.create_group('a')
...     b = f['a'].create_group('b')
...
...     dset1 = f.create_dataset('dset1', (10,), dtype=float)
...     dset2 = f['a'].create_dataset('dset2', (10,), dtype=float)
...     dset3 = f['a']['b'].create_dataset('dset3', (10,), dtype=float)
...
...     print(RecursiveItemsView(f))
<RecursiveItemsView [('/a/b/dset3', <HDF5 dataset "dset3": shape (10,), type "<f8">),
                     ('/a/dset2', <HDF5 dataset "dset2": shape (10,), type "<f8">),
                     ('/dset1', <HDF5 dataset "dset1": shape (10,), type "<f8">)]>
Parameters:

f (h5py.Group) – The to-be iterated h5py group of file.

Returns:

A recursive view of all name/dataset pairs within the passed group or file.

Return type:

ItemsView[str, h5py.Dataset]