Metadata-Version: 2.4
Name: WDM_GW_wavelets
Version: 0.0.5
Summary: A fast, JAX-based Python implementation of the Wilson-Daubechies-Meyer (WDM) wavelet transform for the time-frequency analysis of gravitational wave data.
Author-email: "Christopher J. Moore" <cjm96@cam.ac.uk>, Tomasz Kinowski <tk593@cam.ac.uk>
License-Expression: MIT
Project-URL: Homepage, https://github.com/cjm96/WDM_GW_wavelets
Project-URL: Repository, https://github.com/cjm96/WDM_GW_wavelets
Project-URL: Issues, https://github.com/cjm96/WDM_GW_wavelets/issues
Project-URL: Documentation, https://cjm96.github.io/WDM_GW_wavelets/
Keywords: gravitational waves,wavelets,WDM,time-frequency analysis,signal processing,astronomy
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 3 - Alpha
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Astronomy
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: matplotlib
Requires-Dist: jax
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: astropy; extra == "dev"
Requires-Dist: ipykernel; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=7.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme; extra == "docs"
Requires-Dist: sphinx-autobuild; extra == "docs"
Requires-Dist: myst-parser; extra == "docs"
Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
Dynamic: license-file

<p align="center">
<img src="./logo_images/logo.png" alt="logo" width="350"/>
</p>


# WDM_GW_wavelets

A fast, JAX-based Python implementation of the Wilson-Daubechies-Meyer (WDM) wavelet 
transform for the time-frequency analysis of gravitational wave data.

👉 https://cjm96.github.io/WDM_GW_wavelets/


# Installation

## PyPI

WDM_GW_wavelets is available on [PyPI](https://pypi.org/project/WDM-GW-wavelets/)

```
pip install WDM-GW-wavelets
```

## From Source

To install the package from source, clone the repository and run the following in the directory cotaining pyproject.toml.

```bash
pip install -e .
```

# Getting Started

In Python you should then be able to `import WDM`. 
Try running the example notebook `getting_started.ipynb`.


# Documentation

👉 https://cjm96.github.io/WDM_GW_wavelets/

Documentation is built using `sphinx`. 
You will need to ensure you have this installed; this can be done by installing with the docs extras.

```bash
pip install .[docs]
```

Build the docs by running the following command.

```bash
cd ./docs
make clean
make html
```

Open the local documentation files using your browser.

``` bash
open ./docs/build/html/index.html
```

If you need to rebuild the `sphinx` docs, then run the following command.

``` bash
cd ./docs
make clean
sphinx-build ./source ./build
make html
```


# Testing

To check that everything is working as expected you can run the unit tests. 

The tests are run with `pytest`. 
You will first need to ensure you have this installed; this can be done by installing with dev extras.

```bash
pip install .[dev]
```

You will then be able to run all the tests. 
(Make sure you are in the directory cotaining the pyproject.toml file.)

```bash
python -m pytest
```


# Authors

- Christopher J. Moore
- Tomasz Kinowski
