What’s new in h5py 3.5
New features
Datasets are now created without timestamps by default, making it easier to create more consistent files. Pass
track_times=TruetoGroup.create_dataset()to add timestamps again.Added
lockingFileargument to select HDF5 file locking behavior.Enable setting file space page size when creating new HDF5 files. A new named argument
fs_page_sizeis added to theFileclass.Enable HDF5 page buffering, a low-level caching feature that may improve overall I/O performance in some cases. Three new named arguments are added to the
Fileclass:page_buf_size,min_meta_keep, andmin_raw_keep.Get and reset HDF5 page buffering statistics. Available as the low-level API of the
FileIDclass.The built-in
reversed()function now works with various dictionary-like interfaces:Group,GroupID,Group.keys(),Group.values()andGroup.items().
Exposing HDF5 functions
H5Pset_file_lockingandH5Pget_file_locking(for HDF5 >= 1.12.1 or 1.10.x >= 1.10.7)H5Freset_page_buffering_statsH5Fget_page_buffering_statsH5Pset_file_space_page_sizeH5Pget_file_space_page_sizeH5Pset_page_buffer_sizeH5Pget_page_buffer_size
Breaking changes & deprecations
Dataset timestamps are no longer written by default for new datasets. Pass
track_times=TruetoGroup.create_dataset()if you need them.The IPython completer code no longer tries to work with very old versions of IPython (before 1.0).
Bug fixes
Fix a memory leak when reading data. This particularly affected code making many small reads.
dataset == arraynow behaves the same way asarray == dataset: the HDF5 dataset is read and NumPy makes a boolean array.The IPython completer code no longer imports the
readlinemodule.