ENH: fft: switch from `pocketfft` to `ducc0.fft`
Author: mwyauCreated Sep 14, 2026Updated Sep 16, 2026
Labels01 - Enhancementtriage review
Proposed new feature or change:
Scipy switched its built-in FFT library from pocketfft to its successor ducc.fft in https://github.com/scipy/scipy/pull/23436
Previous discussion in #17839. A lot of the obstacles no longer exist:
- Numpy switched to C++
pocketfftimplementation, which makes it easier move to C++ducc.fft - The
ducc.fftfiles were changed to be dual-licensed underBSD-3-Clause OR GPL-2.0-or-laterwhich should be compatible with Numpy - If we switch to
ducc.fftwe can also move multi-D FFT toducc.fftinstead of managing by Numpy - Numpy doesn't have a vendoring script like SciPy. A submodule will import too many files from the
duccrepo. Can we check in the vendored files manually? - Can Scipy depends on Numpy FFT and get rid of it's own
ducc.fftdependency?
I have a working local prototype, want to know how well this will be received before I proceed with a PR.
cc @mreineck
Source: numpy/numpy