What’s new in h5py 2.2¶
Support for Parallel HDF5¶
On UNIX platforms, you can now take advantage of MPI and Parallel HDF5. Cython, mpi4py and an MPI-enabled build of HDF5 are required.. See Parallel HDF5 in the documentation for details.
Support for Python 3.3¶
Python 3.3 is now officially supported.
Mini float support (issue #141)¶
Two-byte floats (NumPy float16) are supported.
HDF5 scale/offset filter¶
The Scale/Offset filter added in HDF5 1.8 is now available.
Field indexing is now allowed when writing to a dataset (issue #42)¶
H5py has long supported reading only certain fields from a dataset:
>>> dset = f.create_dataset('x', (100,), dtype=np.dtype([('a', 'f'), ('b', 'i')])) >>> out = dset['a', 0:100:10] >>> out.dtype dtype('float32')
Now, field names are also allowed when writing to a dataset:
>>> dset['a', 20:50] = 1.0
Region references preserve shape (issue #295)¶
Previously, region references always resulted in a 1D selection, even when 2D slicing was used:
>>> dset = f.create_dataset('x', (10, 10)) >>> ref = dset.regionref[0:5,0:5] >>> out = dset[ref] >>> out.shape (25,)
Shape is now preserved:
>>> out = dset[ref] >>> out.shape (5, 5)
Additionally, the shape of both the target dataspace and the selection shape can be determined via new methods on the regionref proxy (now available on both datasets and groups):
>>> f.regionref.shape(ref) (10, 10) >>> f.regionref.selection(ref) (5, 5)
move method on Group objects¶
It’s no longer necessary to move objects in a file by manually re-linking them:
>>> f.create_group('a') >>> f['b'] = f['a'] >>> del f['a']
The method Group.move allows this to be performed in one step:
>>> f.move('a', 'b')
Both the source and destination must be in the same file.