WaLSAtools – Wave Analysis Tools
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.
Metadata
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)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| walsatools-1.0.0.post5.tar.gz | 176.9 kB | Without provenance | Details for walsatools-1.0.0.post5.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| walsatools-1.0.0.post5-py3-none-any.whl | Python 3 | none | any | Details for walsatools-1.0.0.post5-py3-none-any.whl |
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
|
Security for WaLSAtools 1.0.0.post5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.