Fix the assembly of returned slice data in Blosc2 NDim optimized slice reads by using Blosc2's b2nd_copy_buffer (#1078). The bug only showed up when the chunk did not fully cover the innermost dimension. Add unit tests to ckeck for regressions, along with foreign-generated files, and enable and fix Blosc2 NDim tests which were not being run. Thanks to Ivan Vilata.
Improvements
PyTables wheels now use a threadsafe build of the HDF5 library (#1075 and #1077). Concurrent reads should be possible with no need for additional locking or monkey-patching of the file open function. Thanks to Kiet Pham.
Partial support for the future NumPy 2, with some tests still failing (#1068). Thanks to Thomas Grainger.
Relax the reading of Blosc2 NDim to cope with datasets stored with other tools (#1072), e.g. missing chunk rank/shape in filter values, having HDF5 chunks where the Blosc2 super-chunk contains more than one inner chunk, or chunks with data not padded to the full chunk size (example script and tests included). Also enhance checks, comments and logged messages. Thanks to Ivan Vilata.
Other changes
Drop compatibility with the obsolete HDF5 1.8 API. PyTables now requires at least the 1.10 API (#1080). Thanks to Antonio Valentino.
Require python-blosc2 >= 2.3.0 or c-blosc2 >= 2.11.0 (which adds support for the b2nd_copy_buffer function).
Use the main Conda Forge channel for Python 3.12 (#1066). Thanks to Thomas Grainger.
Assorted fixes to the b2nd slicing benchmark. Thanks to Ivan Vilata.
Assorted fixes to b2nd slicing optimization tips (#1069). Thanks to Ivan Vilata.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps tables from 3.9.1 to 3.9.2.
Release notes
Sourced from tables's releases.
Changelog
Sourced from tables's changelog.
Commits
ae689fd
Merge branch 'releases/v3.9.2'f580b56
Update release date in timelined26655d
Add notes in announcementdb32bd3
Update release notes after scanning changes from v3.9.19d4f6c0
Bump version to v3.9.2 and set release date in timelinea0124f5
Fix b2nd slicing benchmark data typesfc190af
Minor fixes to b2nd benchmark71d093d
Merge pull request #1080 from avalentino/feature/H5_USE_110_API6e4fa4b
Remove compatibility code and clean cdocs/comments for HDF5 1.8.x9430c50
Update comments in setup.pyDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show