PyWavelets - Discrete Wavelet Transform in Python

PyWavelets is a free Open Source wavelet transform software for Python programming language. It is written in Python, Cython and C for a mix of easy and powerful high-level interface and the best performance.

PyWavelets is very easy to start with and use. Just install the package, open the Python interactive shell and type:

>>> import pywt
>>> cA, cD = pywt.dwt([1, 2, 3, 4], 'db1')

Voilà! Computing wavelet transforms never before has been so simple :)

Main features

The main features of PyWavelets are:

  • 1D and 2D Forward and Inverse Discrete Wavelet Transform (DWT and IDWT)
  • 1D and 2D Stationary Wavelet Transform (Undecimated Wavelet Transform)
  • 1D and 2D Wavelet Packet decomposition and reconstruction
  • Approximating wavelet and scaling functions
  • Over seventy built-in wavelet filters and custom wavelets supported
  • Single and double precision calculations
  • Results compatibility with Matlab Wavelet Toolbox™


PyWavelets is a package for the Python programming language. It requires:


The most recent development version can be found on GitHub at

Latest release, including source and binary package for Windows, is available for download from the Python Package Index.


In order to build PyWavelets from source, a working C compiler (GCC or MSVC) and a recent version of Cython is required.

  • To install PyWavelets open shell prompt and type pip install PyWavelets or easy_install PyWavelets.
  • To build and install from source, navigate to downloaded PyWavelets source code directory and type python install.
  • The in-development version of PyWavelets can be installed with pip install PyWavelets==dev or easy_install PyWavelets==dev.

Prebuilt Windows binaries and source code packages are also available from Python Package Index.

Binary packages for several Linux distributors are maintained by Open Source community contributors. Query your Linux package manager tool for python-wavelets, python-pywt or similar package name.

See also

Development notes section contains more information on building and installing from source code.


Documentation with detailed examples and links to more resources is available online at and

For more usage examples see the demo directory in the source package.


PyWavelets started in 2006 as an academic project for a master thesis on Analysis and Classification of Medical Signals using Wavelet Transforms and is maintained by its original developer.

All contributions including bug reports, bug fixes, new feature implementations and documentation improvements are welcome.

Go and fork on GitHub today!

Python 3

Python 3 development branch is at Check out the changelog for info. Currently the code and examples are ported to work on Python 2.7 and 3.2 from the same codebase.


Use GitHub Issues or PyWavelets discussions group to post your comments or questions.


PyWavelets is a free Open Source software released under the MIT license.

Commercial Support

For information on commercial support and development email me at

Table Of Contents

Next topic

API Reference

Python Development

Django web development for startups and businesses.

Quality Python development and scientific applications.

Quick links

Edit this document

The source code of this file is hosted on GitHub. Everyone can update and fix errors in this document with few clicks - no downloads needed.