// the find
jakevdp/nfft
Lightweight non-uniform Fast Fourier Transform in Python
A pure numpy/scipy implementation of the 1D non-uniform FFT (NFFT), by Jake VanderPlas. It's for anyone doing spectral analysis on irregularly-sampled data (astronomy time series, sensor data with gaps) who wants the algorithm without compiling a C extension.
No compiled dependencies — install is just `pip install nfft`, no C toolchain or FFTW headers to fight with. MIT-licensed, unlike the alternative pynfft which wraps the GPL'd NFFT3 C library and drags that license into your project. There's an actual implementation walkthrough notebook that derives the algorithm step by step instead of just dumping code, which is unusual and useful if you need to understand or modify the math. Achieves complexity and speed comparable to the reference C implementation purely through vectorized numpy/scipy calls.
1D only — if you need multi-dimensional NFFT (common in imaging/tomography), you're stuck with pynfft or something else. Dead project: last push was November 2022, CI is on Travis (which stopped offering free builds years ago and is effectively unmonitored now), and the README still lists Python 2.7/3.5/3.6 as tested versions. Tiny surface area (three modules, four public functions) means no support for related transforms (Type-3 NUFFT, adjoint variants beyond the basic pair) that other libraries bundle. Single-maintainer project with no visible activity or open issues being triaged, so bugs or numpy/scipy deprecation breaks are unlikely to get fixed.