PyWavelets 1.10.0 Release Notes#

We are very pleased to announce the release of PyWavelets 1.10.0. This release adds unconditional support for complex-valued input and improves the performance of pywt.cwt for real-valued input by using real-valued FFTs.

This release also fixes handling of read-only input arrays, zero-width padding, and reconstruction of wavelet packets with non-power-of-two sizes. Support for Python 3.15 is added, support for Python 3.11 is dropped, and the minimum supported NumPy version is now 1.26.4.

Authors#

  • Aman Atman +

  • ChS-YHWH +

  • Green Committer +

  • Achraf Ez +

  • Clément Fauchereau +

  • Bing Gao +

  • Ralf Gommers

  • Veit Heller +

  • Filip Jankovic +

  • Julian Hoßbach +

  • Vineet Kumar +

  • Kevin Lee +

  • Dang Thoai Phan +

A total of 13 people contributed to this release. People with a “+” by their names contributed a patch for the first time. This list of names is automatically generated, and may not be fully complete.

Issues closed for v1.10.0#

  • #589: Padding error when padding width is 0 for antisymmetric and smooth

  • #776: cwt always fails with the message AttributeError: ‘pywt._extensions._pywt.Wavelet’ object has no attribute ‘complex_cwt’

  • #801: Scaling mismatch between PyWavelets CWT and my implementation

  • #838: swt documentation mistake

  • #839: DWT of read-only numpy arrays fails

  • #856: WaveletPacketND.reconstruct() raises IndexError for non-power-of-two…

Pull requests for v1.10.0#

  • #790: ENH: enable complex dtype support unconditionally

  • #816: DOC: add note at top of `cwt` docs referring to `ssqueezepy`

  • #818: MAINT: a tiny edit rewording a single code code comment

  • #819: CI: Add support for building pywt wheels for windows arm64

  • #821: Bump the github-actions group with 3 updates

  • #824: Bump the github-actions group with 3 updates

  • #825: MAINT: drop Python 3.11, NumPy 1.25 and Cython 3.0.x support

  • #826: TST: fix CI failures in Matlab test generation files

  • #827: CI: use macos-15-intel image for macOS x86-64 wheel builds

  • #829: Bump the github-actions group with 4 updates

  • #830: MAINT: move away from numpy.fix in favor of numpy.trunc

  • #833: TST: remove usages of deprecated `numpy.testing.assert_warns`

  • #835: DEV/MAINT: fix benchmarks for latest `asv`, and add a `spin…

  • #836: CI/MAINT: add a CI job with ASan and UBSan on macOS, fix one…

  • #840: fix: Read-only arrays in dwt (Issue #839)

  • #842: DOC: clarify CWT normalization details around sampling_period…

  • #845: Build(deps): Bump the github-actions group with 3 updates

  • #849: BUG: raise a clear error when cwt() is given a discrete wavelet…

  • #851: DOC: update terminology from ‘multiple-overlap’ to ‘maximal-overlap’

  • #854: BUG: fix pywt.pad for a zero pad width in ‘smooth’ and ‘antisymmetric’…

  • #855: MAINT: fix pytest deprecation warning

  • #857: BUG: fix indexing in WaveletPacketND.reconstruct for data_size

  • #858: CI: drop all 3.13t free-threading jobs

  • #859: MAINT: fix two more issues with padding length 0 and size-0 axis…

  • #860: BUG: fix indexing in `reconstruct` method of 1-D/2-D wavelet…

  • #861: CI: revert change to cibuildwheel version for Emscripten job

  • #862: CI: run the ASan/UBSan job in a container instead of on macOS

  • #863: DOC: fix the swt/swt2 `start_level` coefficient ranges

  • #864: ENH: use real FFTs for real-valued CWT convolution

  • #869: CI: update nightly wheel build cron job from 2x to 3x per month

  • #870: BLD: define _USE_MATH_DEFINES in c_args

  • #872: CI/BLD: add Python 3.15 support