Release notes for PyTables 3.10 series

Author:

PyTables Developers

Contact:

pytables-dev@googlegroups.com

Changes from 3.10.1 to 3.10.0

Bugfixes

  • Fix version constraints for the numpy runtime requirements (gh-1204). For a mistake it didn’t allow to use PyTables with numpy 2.x.

  • Fix compatibility with PyPy (gh-1205), Thanks to Michał Górny.

Improvements

  • Enforce numpy >= 2 as build constraint (see discussion in gh-1200).

  • Use tuple of plain ints for chunk info coordinates. Thanks to Ivan Vilata-i-Balaguer.

  • Enable faulthandler in tables.tests.test_all. Thanks to Eric Larson.

Changes from 3.10.0 to 3.9.2

New features

  • New direct chunking API which allows access to raw chunk data skipping the HDF5 filter pipeline (cutting overhead, see “Optimization tips” in User’s Guide), as well as querying chunk information (gh-1187). Thanks to Ivan Vilata and Francesc Alted. This development was funded by a NumFOCUS grant.

Improvements

Bugfixes

  • Fix Windows AMD64 build issues with Bzip2 and C-Blosc2 libraries (gh-1188). Thanks to Antonio Valentino and Eric Larson.

  • Fix typos and may other language errors in docstrings (gh-1122). Thanks to Ko Stehner.

  • Fix Blosc2 filter not setting dparams.schunk on decompression (gh-1110 and gh-1109). Thanks to Tom Birch.

  • Fix using B2ND optimizations when Blosc2 is not the only enabled filter; move Fletcher32 compression to end of pipeline when enabled (gh-1191 and gh-1162). Thanks to Ivan Vilata and Alex Laslavic.

  • Fix broken internal passing of createparents argument in Leaf.copy (gh-1127 and gh-1125). Thanks to Ko Stehner.

  • Re-enable relative paths in ExternalLink class (gh-1095). Thanks to erikdl-zeiss.

  • Fix using prefix in heavy tests methods of test_queries (gh-1169). Thanks to Miro Hrončok.

  • Fix TypeError when computing Blosc2 search paths with missing library (gh-1188 and gh-1100). Thanks to martinowitsch, Padraic Calpin and Eric Larson.

  • Avoid overflow RuntimeWarning on NumPy expectedrows value (gh-1010). Thanks to wony-zheng and Ivan Vilata.

Other changes

  • Add wheels for macOS ARM64 (Apple Silicon), set MACOSX_DEPLOYMENT_TARGET in Docker (gh-1050 and gh-1165). Thanks to Clemens Brunner, Antonio Valentino, Maximilian Linhoff and Eric Larson.

  • Avoid illegal hardware instruction under macOS on M1/M2 with Rosetta and AMD64 wheels (gh-1195 and gh-1186). Thanks to Antonio Valentino and Jon Peirce.

  • Produce nightly wheels (with HDF5 1.14.4), also uploaded to Scientific Python Anaconda repo. Wheels are also produced for PR workflows. Thanks to Antonio Valentino and Eric Larson (gh-1175).

  • Wheels are no longer linked with the LZO library to avoid licensing issues (gh-1195). Thanks to Antonio Valentino.

  • Hash-pin dependencies on wheel workflows to increase build procedure security, with support for Dependabot and Renovatebot updates (gh-1085 and gh-1015). Thanks to Joyce Brum and Diogo Teles Sant’Anna.

  • Hash-pin GitHub action versions in wheels workflow. Thanks to Antonio Valentino.

  • Update ReadTheDocs configuration to version 2 (gh-1092). Thanks to Maximilian Linhoff.

  • Assorted fixes to b2nd benchmark, with new results. Thanks to Ivan Vilata.

  • Point users to example code to handle “Selection lists cannot have repeated values” exception (gh-1161 and gh-1149). Thanks to Joshua Albert.

  • Remove unused getLibrary C code. Thanks to Antonio Valentino.

  • Update included C-Blosc to 1.21.6 (gh-1193). Thanks to Ivan Vilata.

  • Update included HDF5-Blosc filter to 1.0.1 (gh-1194). Thanks to Ivan Vilata.

Thanks

In alphabetical order:

  • Alex Laslavic

  • Antonio Valentino

  • Antti Mäkinen

  • Clemens Brunner

  • Diogo Teles Sant’Anna

  • Eric Larson

  • erikdl-zeiss

  • Francesc Alted

  • Ivan Vilata

  • Jon Peirce

  • Joshua Albert

  • Joyce Brum

  • Ko Stehner

  • martinowitsch

  • Maximilian Linhoff

  • Miro Hrončok

  • Nils Carlson

  • Padraic Calpin

  • Tom Birch

  • wony-zheng