Skip to main content

libwwz

Description

This library provides functions for computing the Weighted Wavelet Z-Transform using Python v3.6+.

The code is based on Foster's and Templeton's Fortran code as well as eaydin's Python 2.7 WWZ library. The code is updated to use modern numpy methods and allow for float value tau.

Specific equations can be found on Grant Foster's Wavelets for period analysis of unevenly sampled time series.

Installation

Install with pip

pip install libwwz

Install from source

Usage

The wwt function is available after importing libwwz.

import libwwz

result: np.ndarray = libwwz.wwt(...)

Examples

Full examples can be found in the examples directory.

API Documentation

API documentation is available at: https://redvoxinc.github.io/libwwz/

Contributors and Funding

This project was funded by Consortium of Enabling Technologies and Innovation (ETI) under the Department of Energy (DOE) through University of Hawaiʻi.

I would like to thank my advisor Milton A. Garcés, Ph.D. for the continuing support and advice on this code.

Development

Contributions are welcome.

If you would like to contribute:

  • Open a new issue on BitBucket
  • Fork and then clone this repository (https://github.com/RedVoxInc/libwwz/)
  • Install the development requirements in dev_requirements.txt with pip install -r dev_requirements.txt
  • Create a new branch in your forked repo following the format of issue-[issue number]
  • Make your modifications, commit, and push to your forked repository
  • Create a pull request

Before you commit:

  • Follow Python's pep8 guidelines
  • Create unit tests for changes
  • Ensure that all current tests pass by running the run_tests.sh script
  • Lint the code using pylint by running the run_pylint.sh script, do not make a pull request until there are no linting errors
  • Statically check types using mypy by running the run_mypy.sh script, do not make a pull request until all typing errors are resolved

Always remember The Zen of Python

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

Metadata

Release files for libwwz 1.3.4

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

Source distribution (sdist)

Source distribution for libwwz 1.3.4
File Size Uploaded
libwwz-1.3.4.tar.gz 18.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for libwwz 1.3.4
File Interpreter ABI Platform
libwwz-1.3.4-py3-none-any.whl Python 3 none any Details

Total release size: 35.3 kB

Release files / libwwz-1.3.4.tar.gz

Download URL libwwz-1.3.4.tar.gz
Size 18.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1073295763be410e21cd9c019a7cf553d398c6500215cf9aca52e4cdd8daa2e4
BLAKE2b-256 checksum
How to use checksums
2342a9800e39d1adc073a071dd41fc1c23b90b6c71e2056f8f5f952534c095e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.13

Release files / libwwz-1.3.4-py3-none-any.whl

Download URL libwwz-1.3.4-py3-none-any.whl
Size 16.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3ae4f5557d3b138bc3aaf1b6fcd33b7e45feb56d4069405579f628d1fb8172ba
BLAKE2b-256 checksum
How to use checksums
80364b704c1f0e09f93a84584f1e9a62a129e022e0afe6e09678bc079572d3d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.13

Release history Release notifications | RSS feed

This release

1.3.4 This release

2 release files

1.3.3

2 release files

1.3.2

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