What’s new in h5py 2.5

Experimental support for Single Writer Multiple Reader (SWMR)

This release introduces experimental support for the highly-anticipated “Single Writer Multiple Reader” (SWMR) feature in the upcoming HDF5 1.10 release. SWMR allows sharing of a single HDF5 file between multiple processes without the complexity of MPI or multiprocessing-based solutions.

This is an experimental feature that should NOT be used in production code. We are interested in getting feedback from the broader community with respect to performance and the API design.

For more details, check out the h5py user guide: http://docs.h5py.org/en/latest/swmr.html

SWMR support was contributed by Ulrik Pedersen (#551).

Other changes

  • Use system Cython as a fallback if cythonize() fails (#541 by Ulrik Pedersen).
  • Use pkg-config for builing/linking against hdf5 (#505 by James Tocknell).
  • Disable building Cython on Travis (#513 by Andrew Collette).
  • Improvements to release tarball (#555, #560 by Ghislain Antony Vaillant).
  • h5py now has one codebase for both Python 2 and 3; 2to3 removed from setup.py (#508 by James Tocknell).
  • Add python 3.4 to tox (#507 by James Tocknell).
  • Warn when importing from inside install dir (#558 by Andrew Collette).
  • Tweak installation docs with reference to Anaconda and other Python package managers (#546 by Andrew Collette).
  • Fix incompatible function pointer types (#526, #524 by Peter H. Li).
  • Add explicit vlen is not None check to work around https://github.com/numpy/numpy/issues/2190 (#538 by Will Parkin).
  • Group and AttributeManager classes now inherit from the appropriate ABCs (#527 by James Tocknell).
  • Don’t strip metadata from special dtypes on read (#512 by Antony Lee).
  • Add ‘x’ mode as an alias for ‘w-‘ (#510 by Antony Lee).
  • Support dynamical loading of LZF filter plugin (#506 by Peter Colberg).
  • Fix accessing attributes with array type (#501 by Andrew Collette).
  • Don’t leak types in enum converter (#503 by Andrew Collette).