Skip to main content




WaLSAtools – Wave Analysis Tools

PyPI DOI

WaLSAtools is an open-source library for fundamental and advanced wave analysis in 1D signals, images, and multi-dimensional datasets. Designed as a one-stop resource, it empowers researchers across disciplines to extract insights from oscillatory phenomena. WaLSAtools is envisioned as a community-driven starting point — inviting collaboration to refine techniques, develop new methods, and advance discoveries wherever waves and fluctuations play a fundamental role. It encourages transparent, reproducible science by providing validated techniques, detailed documentation, and worked examples.

It currently provides a comprehensive set of analysis techniques, including:

  • Fast Fourier Transform (FFT)
  • Wavelet Analysis
  • Lomb-Scargle Periodogram
  • Welch Power Spectral Density
  • Empirical Mode Decomposition (EMD)
  • Hilbert and Hilbert-Huang Transforms
  • k-ω (k-omega) Analysis
  • Proper Orthogonal Decomposition (POD)
  • Cross-Spectral Analysis

WaLSAtools features an interactive interface for both Python terminals and Jupyter notebooks, simplifying the wave analysis workflow.

For full documentation, see https://WaLSA.tools.

Installation

We strongly recommend installing WaLSAtools inside a new virtual environment to avoid dependency conflicts, especially with pre-installed packages.

For a full setup guide, see the Beginner-Friendly Guide.

Install via PyPI

pip install --upgrade pip
pip install WaLSAtools

Install from Source (GitHub)

git clone https://github.com/WaLSAteam/WaLSAtools.git
cd WaLSAtools/codes/python/
pip install .

For detailed instructions and troubleshooting tips, refer to:

Interactive Usage

After installing, launch the interactive interface by running:

from WaLSAtools import WaLSAtools
WaLSAtools

This will open an interactive menu where you can:

  • Select an analysis category.
  • Choose your data type (1D or 3D).
  • Pick an analysis method (FFT, wavelet, EMD, k-omega, POD, etc.).
  • View customised calling sequences and parameter hints.

Interactive usage is supported both in standard Python terminals and Jupyter notebooks.

Requirements

WaLSAtools requires Python ≥ 3.8 and automatically installs the following core dependencies:

astropy, IPython, ipywidgets, matplotlib, numba, numpy, pyFFTW, scipy, setuptools, scikit-image, tqdm.

All dependencies are handled automatically during installation.

License

WaLSAtools is licensed under the Apache License, Version 2.0.

Citation

If you use WaLSAtools in your research, please cite:

Jafarzadeh, S., Jess, D. B., Stangalini, M., et al. 2025, Nature Reviews Methods Primers, 5, 21
https://www.nature.com/articles/s43586-025-00392-0

Zenodo DOI: 10.5281/zenodo.14978610

Contributing

We welcome contributions, suggestions, and feedback.

Please check the Contribution Guide, or join our discussions via GitHub Discussions.

Release files for WaLSAtools 1.0.0.post5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for WaLSAtools 1.0.0.post5
File Size Uploaded
walsatools-1.0.0.post5.tar.gz 176.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for WaLSAtools 1.0.0.post5
File Interpreter ABI Platform
walsatools-1.0.0.post5-py3-none-any.whl Python 3 none any Details

Total release size: 370.0 kB

Release files / walsatools-1.0.0.post5.tar.gz

Download URL walsatools-1.0.0.post5.tar.gz
Size 176.9 kB
Tags Source
SHA-256 checksum
How to use checksums
83b7cd147b5ffcb2e91a03e9ac98594a3d7f306360dd2dccfcdb44075856dc5b
BLAKE2b-256 checksum
How to use checksums
a811ef5005ca8d21d30abb80fc6c34c1217a091d24d9103c5237f0ce489c007a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / walsatools-1.0.0.post5-py3-none-any.whl

Download URL walsatools-1.0.0.post5-py3-none-any.whl
Size 193.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
992c96e8d4115dd17605a011e15e69840453eb2cf6aa1a95efefa3f8bc21ff17
BLAKE2b-256 checksum
How to use checksums
bd513285eaa0c95f2c1113233c2633376cae599258e4ae49d927210bfa863330
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

1.0.0.post5 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page