frejanordsiek / hdf5storage

Python package to read and write a wide range of Python types to/from HDF5 formatted files. Can read/write data to the HDF5 based Matlab v7.3 MAT files.
BSD 2-Clause "Simplified" License
83 stars 24 forks source link

Dropping Python 3.6 and h5py 2.3 to 3.2 support in development version (main branch) #126

Closed frejanordsiek closed 1 year ago

frejanordsiek commented 1 year ago

Previously, the development version (what will eventually be version 1.0) supported Python >= 3.6 and h5py >= 2.3.

Python 3.6 is EOL and making the minimum be 3.7 makes type annotations easier.

As for h5py, versions 3.0 and 3.1 required an awful and brittle hack to read the 'MATLAB_fields' Attribute that causes segfaults when something goes wrong (a lot of very manual usage of ctypes). So, dropping them means and end to the brittle segfault prone code and a hit to performance for doing all the related checks. With 3.0 and 3.1 dropped, it makes no sense to keep 2.3 - 2.10 support anymore. Version 3.2 is OK, but hard to run on Python 3.7 and newer, so it is being dropped as well.

As it stands, this package supports Python >= 3.7 and h5py >= 3.3.