pywavelet 0.0.1b0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. pywavelet-0.0.1b0/.github/workflows/ci.yml +42 -0
  2. pywavelet-0.0.1b0/.github/workflows/docs.yml +39 -0
  3. pywavelet-0.0.1b0/.github/workflows/pypi.yml +44 -0
  4. pywavelet-0.0.1b0/.gitignore +114 -0
  5. pywavelet-0.0.1b0/.pre-commit-config.yaml +24 -0
  6. pywavelet-0.0.1b0/CHANGELOG.rst +10 -0
  7. pywavelet-0.0.1b0/CITATION.cff +28 -0
  8. pywavelet-0.0.1b0/PKG-INFO +34 -0
  9. pywavelet-0.0.1b0/README.rst +29 -0
  10. pywavelet-0.0.1b0/docs/_config.yml +32 -0
  11. pywavelet-0.0.1b0/docs/_toc.yml +8 -0
  12. pywavelet-0.0.1b0/docs/demos/cbc_demo.ipynb +349 -0
  13. pywavelet-0.0.1b0/docs/demos/lisa_mcmc_demo.ipynb +644 -0
  14. pywavelet-0.0.1b0/docs/demos/roundtrip_demo.ipynb +347 -0
  15. pywavelet-0.0.1b0/docs/intro.md +27 -0
  16. pywavelet-0.0.1b0/docs/references.bib +38 -0
  17. pywavelet-0.0.1b0/docs/requirements.txt +3 -0
  18. pywavelet-0.0.1b0/pyproject.toml +116 -0
  19. pywavelet-0.0.1b0/setup.cfg +4 -0
  20. pywavelet-0.0.1b0/src/pywavelet/__init__.py +5 -0
  21. pywavelet-0.0.1b0/src/pywavelet/_version.py +16 -0
  22. pywavelet-0.0.1b0/src/pywavelet/fft_funcs.py +16 -0
  23. pywavelet-0.0.1b0/src/pywavelet/likelihood/__init__.py +0 -0
  24. pywavelet-0.0.1b0/src/pywavelet/likelihood/likelihood_base.py +9 -0
  25. pywavelet-0.0.1b0/src/pywavelet/likelihood/whittle.py +24 -0
  26. pywavelet-0.0.1b0/src/pywavelet/logger.py +15 -0
  27. pywavelet-0.0.1b0/src/pywavelet/transforms/__init__.py +10 -0
  28. pywavelet-0.0.1b0/src/pywavelet/transforms/common.py +77 -0
  29. pywavelet-0.0.1b0/src/pywavelet/transforms/from_wavelets/__init__.py +25 -0
  30. pywavelet-0.0.1b0/src/pywavelet/transforms/from_wavelets/inverse_wavelet_freq_funcs.py +76 -0
  31. pywavelet-0.0.1b0/src/pywavelet/transforms/from_wavelets/inverse_wavelet_time_funcs.py +133 -0
  32. pywavelet-0.0.1b0/src/pywavelet/transforms/to_wavelets/__init__.py +52 -0
  33. pywavelet-0.0.1b0/src/pywavelet/transforms/to_wavelets/transform_freq_funcs.py +84 -0
  34. pywavelet-0.0.1b0/src/pywavelet/transforms/to_wavelets/transform_time_funcs.py +63 -0
  35. pywavelet-0.0.1b0/src/pywavelet/utils/__init__.py +0 -0
  36. pywavelet-0.0.1b0/src/pywavelet/utils/fisher_matrix.py +6 -0
  37. pywavelet-0.0.1b0/src/pywavelet/utils/snr.py +37 -0
  38. pywavelet-0.0.1b0/src/pywavelet/waveform_generator/__init__.py +0 -0
  39. pywavelet-0.0.1b0/src/pywavelet/waveform_generator/build_lookup_table.py +0 -0
  40. pywavelet-0.0.1b0/src/pywavelet/waveform_generator/generators/__init__.py +2 -0
  41. pywavelet-0.0.1b0/src/pywavelet/waveform_generator/generators/functional_waveform_generator.py +33 -0
  42. pywavelet-0.0.1b0/src/pywavelet/waveform_generator/generators/lookuptable_waveform_generator.py +15 -0
  43. pywavelet-0.0.1b0/src/pywavelet/waveform_generator/generators/rom_waveform_generator.py +0 -0
  44. pywavelet-0.0.1b0/src/pywavelet/waveform_generator/waveform_generator.py +14 -0
  45. pywavelet-0.0.1b0/src/pywavelet.egg-info/PKG-INFO +34 -0
  46. pywavelet-0.0.1b0/src/pywavelet.egg-info/SOURCES.txt +54 -0
  47. pywavelet-0.0.1b0/src/pywavelet.egg-info/dependency_links.txt +1 -0
  48. pywavelet-0.0.1b0/src/pywavelet.egg-info/requires.txt +18 -0
  49. pywavelet-0.0.1b0/src/pywavelet.egg-info/top_level.txt +1 -0
  50. pywavelet-0.0.1b0/tests/conftest.py +15 -0
  51. pywavelet-0.0.1b0/tests/test_examples.py +1 -0
  52. pywavelet-0.0.1b0/tests/test_roundtrip_conversion.py +46 -0
  53. pywavelet-0.0.1b0/tests/test_snr.py +104 -0
  54. pywavelet-0.0.1b0/tests/test_version.py +6 -0
  55. pywavelet-0.0.1b0/tests/test_waveform_lookup_table.py +51 -0
  56. pywavelet-0.0.1b0/tests/utils.py +97 -0
@@ -0,0 +1,42 @@
1
+ name: Python Package Workflow
2
+
3
+ on:
4
+ push:
5
+ branches: [ main ]
6
+ pull_request:
7
+ branches: [ main ]
8
+ workflow_dispatch:
9
+
10
+ jobs:
11
+ build:
12
+
13
+ runs-on: ubuntu-latest
14
+
15
+ steps:
16
+ # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
17
+ - uses: actions/checkout@v3
18
+ - uses: actions/setup-python@v4
19
+ with:
20
+ python-version: '3.8'
21
+ cache: 'pip'
22
+
23
+ - name: Install dependencies
24
+ run: |
25
+ python -m pip install --upgrade pip
26
+ python -m pip install -e .[dev]
27
+ pre-commit install
28
+
29
+ - name: pre-commit
30
+ run: pre-commit run --all-files --verbose --show-diff-on-failure
31
+
32
+ - name: pytest
33
+ run: pytest --cov='pywavelet' --cov-report term-missing
34
+
35
+ - name: Upload Coverage to Coveralls
36
+ if: ${{ github.ref == 'refs/heads/main' }}
37
+ run: |
38
+ coverage xml
39
+ pip install coveralls
40
+ coveralls
41
+ env:
42
+ COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
@@ -0,0 +1,39 @@
1
+ name: build-docs
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ paths:
8
+ - 'docs/**'
9
+
10
+ # This job installs dependencies, builds the book, and pushes it to `gh-pages`
11
+ jobs:
12
+ deploy-book:
13
+ runs-on: ubuntu-latest
14
+ permissions:
15
+ contents: write
16
+ steps:
17
+ - uses: actions/checkout@v3
18
+
19
+ # Install dependencies
20
+ - name: Set up Python 3.8
21
+ uses: actions/setup-python@v2
22
+ with:
23
+ python-version: 3.8
24
+
25
+ - name: Install dependencies
26
+ run: |
27
+ pip install -r docs/requirements.txt
28
+
29
+ # Build the book
30
+ - name: Build the book
31
+ run: |
32
+ jupyter-book build docs/
33
+
34
+ # Push the book's HTML to github-pages
35
+ - name: GitHub Pages action
36
+ uses: peaceiris/actions-gh-pages@v3.9.3
37
+ with:
38
+ github_token: ${{ secrets.GITHUB_TOKEN }}
39
+ publish_dir: ./docs/_build/html
@@ -0,0 +1,44 @@
1
+ name: Publish Python 🐍 distributions 📦 to PyPI and TestPyPI
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ logLevel:
7
+ description: 'Log level'
8
+ required: true
9
+ default: 'warning'
10
+ push:
11
+ # Pattern matched against refs/tags
12
+ tags:
13
+ - '*'
14
+
15
+ jobs:
16
+ build-n-publish:
17
+ environment:
18
+ name: pypi
19
+ url: https://pypi.org/p/pywavelet
20
+ permissions:
21
+ id-token: write # Needed for publishing to PyPI
22
+ name: Build and publish Python 🐍 distributions 📦 to PyPI and TestPyPI
23
+ runs-on: ubuntu-20.04
24
+ steps:
25
+ - uses: actions/checkout@v3
26
+ - uses: actions/setup-python@v4
27
+ with:
28
+ python-version: '3.8'
29
+ cache: 'pip'
30
+
31
+ - name: Install dependencies
32
+ run: |
33
+ python -m pip install --upgrade pip
34
+ pip install setuptools wheel twine build
35
+ - name: Build a binary wheel and a source tarball
36
+ run: >-
37
+ python -m
38
+ build
39
+ --sdist
40
+ --wheel
41
+ --outdir dist/
42
+
43
+ - name: Publish distribution 📦 to PyPI
44
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,114 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.png
6
+ *.dat
7
+ *.idea
8
+ *.DS_Store
9
+ # C extensions
10
+ *.so
11
+ out_*
12
+ *_version.py
13
+
14
+ # Distribution / packaging
15
+ .Python
16
+ build/
17
+ develop-eggs/
18
+ dist/
19
+ downloads/
20
+ eggs/
21
+ .eggs/
22
+ lib/
23
+ lib64/
24
+ parts/
25
+ sdist/
26
+ var/
27
+ wheels/
28
+ *.egg-info/
29
+ .installed.cfg
30
+ *.egg
31
+ MANIFEST
32
+
33
+ # PyInstaller
34
+ # Usually these files are written by a python script from a template
35
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
36
+ *.manifest
37
+ *.spec
38
+
39
+ # Installer logs
40
+ pip-log.txt
41
+ pip-delete-this-directory.txt
42
+
43
+ # Unit test / coverage reports
44
+ htmlcov/
45
+ .tox/
46
+ .coverage
47
+ .coverage.*
48
+ .cache
49
+ nosetests.xml
50
+ coverage.xml
51
+ *.cover
52
+ .hypothesis/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ .static_storage/
61
+ .media/
62
+ local_settings.py
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+ docs/build/
74
+ docs/source/api/
75
+
76
+ # PyBuilder
77
+ target/
78
+
79
+ # Jupyter Notebook
80
+ .ipynb_checkpoints
81
+
82
+ # pyenv
83
+ .python-version
84
+
85
+ # celery beat schedule file
86
+ celerybeat-schedule
87
+
88
+ # SageMath parsed files
89
+ *.sage.py
90
+
91
+ # Environments
92
+ .env
93
+ .venv
94
+ env/
95
+ venv/
96
+ ENV/
97
+ env.bak/
98
+ venv.bak/
99
+
100
+ # Spyder project settings
101
+ .spyderproject
102
+ .spyproject
103
+
104
+ # Rope project settings
105
+ .ropeproject
106
+
107
+ # mkdocs documentation
108
+ /site
109
+
110
+ # mypy
111
+ .mypy_cache/
112
+
113
+ # VSCode
114
+ .vscode/
@@ -0,0 +1,24 @@
1
+ repos:
2
+ - repo: https://github.com/Lucas-C/pre-commit-hooks
3
+ rev: v1.3.1
4
+ hooks:
5
+ - id: forbid-crlf
6
+ - id: remove-crlf
7
+ - repo: https://github.com/pre-commit/pre-commit-hooks
8
+ rev: v4.4.0
9
+ hooks:
10
+ - id: trailing-whitespace
11
+ - id: end-of-file-fixer
12
+ - id: check-merge-conflict
13
+ - id: check-yaml
14
+ args: [ --unsafe ]
15
+ - repo: https://github.com/pre-commit/mirrors-isort
16
+ rev: v5.10.1
17
+ hooks:
18
+ - id: isort
19
+ args: ["--profile", "black"]
20
+ - repo: https://github.com/ambv/black
21
+ rev: 22.12.0
22
+ hooks:
23
+ - id: black
24
+ language_version: python3.8
@@ -0,0 +1,10 @@
1
+ .. _change-log-label:
2
+
3
+ Change Log
4
+ ==========
5
+
6
+ Version History
7
+ ---------------
8
+
9
+ 0.0.1
10
+ * Project created.
@@ -0,0 +1,28 @@
1
+ cff-version: 1.2.0
2
+ title: pywavelet
3
+ message: >-
4
+ If you use this software, please cite it using the
5
+ metadata from this file.
6
+ type: software
7
+ authors:
8
+ - given-names: pywavelet
9
+ family-names: pywavelet
10
+ email: pywavelet@aut.ac.nz
11
+ affiliation: >-
12
+ Science Centre 303S, 38 Princes st,
13
+ Auckland, 1010, New Zealand
14
+ orcid: 'https://orcid.org/0000-0002-4146-1132'
15
+ identifiers:
16
+ - type: url
17
+ value: ''
18
+ description: The paper describing the method behind this work.
19
+ repository-code: 'https://github.com/avivajpeyi/pywavelet'
20
+ url: 'http://avivajpeyi.github.io/pywavelet/'
21
+ repository-artifact: 'https://pypi.org/project/pywavelet/'
22
+ abstract: >-
23
+ Source code for the pywavelet package (for WDM wavelet analysis).
24
+ keywords:
25
+ - GW
26
+ - Bayesian Inference
27
+ - WDM
28
+ license: MIT
@@ -0,0 +1,34 @@
1
+ Metadata-Version: 2.1
2
+ Name: pywavelet
3
+ Version: 0.0.1b0
4
+ Summary: WDM wavelet transform your timeseries!
5
+ Author-email: Pywavelet Team <pywavelet@gmail.com>
6
+ Project-URL: Homepage, https://github.com/pypa/pywavelet
7
+ Project-URL: Bug Reports, https://github.com/pypa/pywavelet/issues
8
+ Project-URL: Funding, https://donate.pypi.org
9
+ Project-URL: Say Thanks!, http://saythanks.io/to/example
10
+ Project-URL: Source, https://github.com/pypa/pywavelet/
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Intended Audience :: Science/Research
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3.8
16
+ Requires-Python: >=3.8
17
+ Description-Content-Type: text/markdown
18
+ Requires-Dist: numpy
19
+ Requires-Dist: numba
20
+ Requires-Dist: matplotlib
21
+ Requires-Dist: tqdm
22
+ Requires-Dist: loguru
23
+ Requires-Dist: bilby
24
+ Provides-Extra: dev
25
+ Requires-Dist: pytest>=6.0; extra == "dev"
26
+ Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
27
+ Requires-Dist: pre-commit; extra == "dev"
28
+ Requires-Dist: flake8>=5.0.4; extra == "dev"
29
+ Requires-Dist: black>=22.12.0; extra == "dev"
30
+ Requires-Dist: isort; extra == "dev"
31
+ Requires-Dist: mypy; extra == "dev"
32
+ Requires-Dist: pycbc; extra == "dev"
33
+ Requires-Dist: bilby; extra == "dev"
34
+ Requires-Dist: jupyter-book; extra == "dev"
@@ -0,0 +1,29 @@
1
+ pywavelet
2
+ #########
3
+ .. image:: https://coveralls.io/repos/github/avivajpeyi/pywavelet/badge.svg?branch=main
4
+ :target: https://coveralls.io/github/avivajpeyi/pywavelet?branch=main
5
+
6
+
7
+
8
+ WDM Wavelet transform
9
+
10
+
11
+ Quickstart
12
+ ==========
13
+
14
+ pywavelet is available on PyPI and can be installed with `pip <https://pip.pypa.io>`_.
15
+
16
+ .. code-block:: console
17
+
18
+ $ pip install pywavelet
19
+
20
+ After installing pywavelet you can use it like any other Python module.
21
+
22
+ Here is a simple example:
23
+
24
+ .. code-block:: python
25
+
26
+ import pywavelet
27
+ # Fill this section in with the common use-case.
28
+
29
+ The `API Reference <http://pywavelet.readthedocs.io>`_ provides API-level documentation.
@@ -0,0 +1,32 @@
1
+ # Book settings
2
+ # Learn more at https://jupyterbook.org/customize/config.html
3
+
4
+ title: My sample book
5
+ author: The Jupyter Book Community
6
+ logo: logo.png
7
+
8
+ # Force re-execution of notebooks on each build.
9
+ # See https://jupyterbook.org/content/execute.html
10
+ execute:
11
+ execute_notebooks: 'off'
12
+
13
+ # Define the name of the latex output file for PDF builds
14
+ latex:
15
+ latex_documents:
16
+ targetname: book.tex
17
+
18
+ # Add a bibtex file so that we can create citations
19
+ bibtex_bibfiles:
20
+ - references.bib
21
+
22
+ # Information about where the book exists on the web
23
+ repository:
24
+ url: https://github.com/executablebooks/jupyter-book # Online location of your book
25
+ path_to_book: docs # Optional path to your book, relative to the repository root
26
+ branch: master # Which branch of the repository should be used when creating links (optional)
27
+
28
+ # Add GitHub buttons to your book
29
+ # See https://jupyterbook.org/customize/config.html#add-a-link-to-your-repository
30
+ html:
31
+ use_issues_button: true
32
+ use_repository_button: true
@@ -0,0 +1,8 @@
1
+ # Table of contents
2
+ # Learn more at https://jupyterbook.org/customize/toc.html
3
+
4
+ format: jb-book
5
+ root: intro
6
+ chapters:
7
+ - file: demos/roundtrip_demo
8
+ - file: demos/lisa_mcmc_demo