Skip to content

Latest commit

 

History

History
48 lines (37 loc) · 4.39 KB

2.7.rst

File metadata and controls

48 lines (37 loc) · 4.39 KB

What's new in h5py 2.7

Python 3.2 is no longer supported

h5py 2.7 drops Python 3.2 support, and testing is not longer performed on Python 3.2. The latest versions of pip, virtualenv, setuptools and numpy do not support Python 3.2, and dropping 3.2 allows both u and b prefixes to be used for strings. A clean up of some of the legacy code was done in :pr:`675` by Andrew Collette.

Additionally, support for Python 2.6 is soon to be dropped for pip (See pypa/pip#3955) and setuptools (See pypa/setuptools#878), and numpy has dropped Python 2.6 also in the latest release. While h5py has not dropped Python 2.6 this release, users are strongly encouraged to move to Python 2.7 where possible.

Improved testing support

There has been a major increase in the number of configurations h5py is automatically tested in, with Windows CI support added via Appveyor (:pr:`795`, :pr:`798`, :pr:`799` and :pr:`801` by James Tocknell) and testing of minimum requirements to ensure we still satisfy them (:pr:`703` by James Tocknell). Additionally, tox was used to ensure that we don't run tests on Python versions which our dependencies have dropped or do not support (:pr:`662`, :pr:`700` and :pr:`733`). Thanks to to the Appveyor support, unicode tests were made more robust (:pr:`788`, :pr:`800` and :pr:`804` by James Tocknell). Finally, other tests were improved or added where needed (:pr:`724` by Matthew Brett, :pr:`789`, :pr:`794` and :pr:`802` by James Tocknell).

Improved python compatibility

The ipython/jupyter completion support now has Python 3 support (:pr:`715` by Joseph Kleinhenz). h5py now supports pathlib filenames (:pr:`716` by James Tocknell).

Documentation improvements

An update to the installation instructions and some whitespace cleanup was done in :pr:`808` by Thomas A Caswell, and mistake in the quickstart was fixed by Joydeep Bhattacharjee in :pr:`708`.

setup.py improvements

Support for detecting the version of HDF5 via pkgconfig was added by Axel Huebl in :pr:`734`, and support for specifying the path to MPI-supported HDF5 was added by Axel Huebl in :pr:`721`. h5py's classifiers were updated to include supported python version and interpreters in :pr:`811` by James Tocknell.

Support for additional HDF5 features added

Low-level support for HDF5 Direct Chunk Write was added in :pr:`691` by Simon Gregor Ebner. Minimal support for HDF5 File Image Operations was added by Andrea Bedini in :pr:`680`. Ideas and opinions for further support for both HDF5 Direct Chunk Write and HDF5 File Image Operations are welcome. High-level support for reading and writing null dataspaces was added in :pr:`664` by James Tocknell.

Improvements to type system

Reading and writing of compound datatypes has improved, with support for different orderings and alignments (:pr:`701` by Jonah Bernhard, :pr:`702` by Caleb Morse :pr:`738` by @smutch, :pr:`765` by Nathan Goldbaum and :pr:`793` by James Tocknell). Support for reading extended precision and non-standard floating point numbers has also been added (:pr:`749`, :pr:`812` by Thomas A Caswell, :pr:`787` by James Tocknell and :pr:`781` by Martin Raspaud). Finally, compatibility improvements to Cython annotations of HDF5 types were added in :pr:`692` and :pr:`693` by Aleksandar Jelenak.

Other changes

  • Fix deprecation of - for numpy boolean arrays (:pr:`683` by James Tocknell)
  • Check for duplicates in fancy index validation (:pr:`739` by Sam Toyer)
  • Avoid potential race condition (:pr:`754` by James Tocknell)
  • Fix inconsistency when slicing with numpy.array of shape (1,) (:pr:`772` by Artsiom)
  • Use size_t to store Python object id (:pr:`773` by Christoph Gohlke)
  • Avoid errors when the Python GC runs during nonlocal_close() (:pr:`776` by Antoine Pitrou)
  • Move from six.PY3 to six.PY2 (:pr:`686` by James Tocknell)

Acknowledgements