Skip to main content

One FFT API over many backends: scipy, numpy, Intel MKL, CuPy, PyTorch, TensorFlow, pyFFTW, Accelerate

Project description

fftkit

One FFT API over many backends.

import fftkit

fftkit.get_available_backends()      # what this machine can actually use
fft = fftkit.get_fft_func("mkl")     # or scipy, numpy, cupy, torch, ...
spectrum = fft(signal)

Swapping FFT libraries usually means rewriting call sites, because each library spells the same transform differently. fftkit puts a single callable in front of eight of them, reports which ones are installed, and measures which one is fastest for your array sizes.

Extracted from modalpy.

Status

Under construction — the packaging scaffold is in place; the library, tests, and benchmarks are landing next. See CHANGELOG.md.

Install

pip install fftkit               # numpy + scipy only
pip install "fftkit[mkl]"        # + Intel MKL
pip install "fftkit[gpu]"        # + CuPy / PyTorch
pip install "fftkit[bench]"      # + benchmark plotting deps

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fftkit-0.1.0.tar.gz (21.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fftkit-0.1.0-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file fftkit-0.1.0.tar.gz.

File metadata

  • Download URL: fftkit-0.1.0.tar.gz
  • Upload date:
  • Size: 21.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fftkit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 71f3ebc827d25a123ba76bfb7fa469aaa2dbb0190ec2643c95c79af932806eda
MD5 9321e657701e7d70592e0bd33fc97b71
BLAKE2b-256 e5c0664a79d2c829eb2653bc0a535727cdd1098f436dbc8dfef068030924c0ef

See more details on using hashes here.

File details

Details for the file fftkit-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: fftkit-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fftkit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 daa49444f91886773fb7397a042e168dcdb80e55d7f317ff7c55b4175122c4bb
MD5 63bb2a4618cff268643e5c155978e8e7
BLAKE2b-256 74a51460e9d74ab8f7f0d175792ea5c56ed9ffa8b3838f60b65e1c55bc9682b1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page