pyANOVAapprox 0.1.0__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.
- pyanovaapprox-0.1.0/.github/workflows/ci.yml +32 -0
- pyanovaapprox-0.1.0/.github/workflows/documentation.yml +29 -0
- pyanovaapprox-0.1.0/.github/workflows/format.yml +27 -0
- pyanovaapprox-0.1.0/.github/workflows/release.yml +88 -0
- pyanovaapprox-0.1.0/.gitignore +17 -0
- pyanovaapprox-0.1.0/LICENSE +674 -0
- pyanovaapprox-0.1.0/PKG-INFO +69 -0
- pyanovaapprox-0.1.0/README.md +55 -0
- pyanovaapprox-0.1.0/docs/Makefile +20 -0
- pyanovaapprox-0.1.0/docs/source/Analysis.rst +18 -0
- pyanovaapprox-0.1.0/docs/source/Approximation.rst +107 -0
- pyanovaapprox-0.1.0/docs/source/Errors.rst +69 -0
- pyanovaapprox-0.1.0/docs/source/conf.py +27 -0
- pyanovaapprox-0.1.0/docs/source/index.rst +21 -0
- pyanovaapprox-0.1.0/pyproject.toml +24 -0
- pyanovaapprox-0.1.0/src/pyANOVAapprox/__init__.py +87 -0
- pyanovaapprox-0.1.0/src/pyANOVAapprox/analysis.py +175 -0
- pyanovaapprox-0.1.0/src/pyANOVAapprox/approx.py +464 -0
- pyanovaapprox-0.1.0/src/pyANOVAapprox/errors.py +191 -0
- pyanovaapprox-0.1.0/src/pyANOVAapprox/fista.py +287 -0
- pyanovaapprox-0.1.0/src/pyANOVAapprox/trafos.py +127 -0
- pyanovaapprox-0.1.0/tests/TestFunctionCheb.py +163 -0
- pyanovaapprox-0.1.0/tests/TestFunctionPeriodic.py +155 -0
- pyanovaapprox-0.1.0/tests/cheb_fista.py +61 -0
- pyanovaapprox-0.1.0/tests/cheb_lsqr.py +69 -0
- pyanovaapprox-0.1.0/tests/per_fista.py +61 -0
- pyanovaapprox-0.1.0/tests/per_lsqr.py +63 -0
- pyanovaapprox-0.1.0/tests/run_tests.py +35 -0
- pyanovaapprox-0.1.0/tests/wav_lsqr.py +1 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main, test]
|
|
6
|
+
tags: [v*]
|
|
7
|
+
pull_request:
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
strategy:
|
|
12
|
+
matrix:
|
|
13
|
+
python-version: ['3.12'] # Specify the Python versions you want to test against
|
|
14
|
+
os: [ubuntu-latest, windows-latest]
|
|
15
|
+
name: Python ${{ matrix.python-version }} - ${{ matrix.os }}
|
|
16
|
+
runs-on: ${{ matrix.os }}
|
|
17
|
+
steps:
|
|
18
|
+
- name: Checkout code
|
|
19
|
+
uses: actions/checkout@v4
|
|
20
|
+
- name: Set up Python
|
|
21
|
+
uses: actions/setup-python@v4
|
|
22
|
+
with:
|
|
23
|
+
python-version: ${{ matrix.python-version }}
|
|
24
|
+
- name: Install dependencies
|
|
25
|
+
run: |
|
|
26
|
+
python -m pip install --upgrade pip
|
|
27
|
+
pip install pyGroupedTransforms
|
|
28
|
+
pip install numpy
|
|
29
|
+
pip install scipy
|
|
30
|
+
- name: Run tests
|
|
31
|
+
run: |
|
|
32
|
+
python -m tests.run_tests
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
name: documentation
|
|
2
|
+
|
|
3
|
+
on: [push, pull_request, workflow_dispatch]
|
|
4
|
+
|
|
5
|
+
permissions:
|
|
6
|
+
contents: write
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
docs:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/checkout@v4
|
|
13
|
+
- uses: actions/setup-python@v5
|
|
14
|
+
- name: Install dependencies
|
|
15
|
+
run: |
|
|
16
|
+
pip install sphinx sphinx_rtd_theme myst_parser
|
|
17
|
+
- name: Sphinx build
|
|
18
|
+
run: |
|
|
19
|
+
cd docs
|
|
20
|
+
sphinx-apidoc -o ./source ../src -f
|
|
21
|
+
make html
|
|
22
|
+
- name: Deploy to GitHub Pages
|
|
23
|
+
uses: peaceiris/actions-gh-pages@v3
|
|
24
|
+
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
|
|
25
|
+
with:
|
|
26
|
+
publish_branch: gh-pages
|
|
27
|
+
github_token: ${{ secrets.GITHUB_TOKEN }}
|
|
28
|
+
publish_dir: docs/build/html
|
|
29
|
+
force_orphan: true
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
name: Format Python Code
|
|
2
|
+
on: push
|
|
3
|
+
jobs:
|
|
4
|
+
python-code-format:
|
|
5
|
+
runs-on: ubuntu-latest
|
|
6
|
+
steps:
|
|
7
|
+
- uses: actions/checkout@v2
|
|
8
|
+
- uses: actions/setup-python@v4
|
|
9
|
+
with:
|
|
10
|
+
python-version: "3.12"
|
|
11
|
+
architecture: "x64"
|
|
12
|
+
- name: Display Python version
|
|
13
|
+
run: python --version
|
|
14
|
+
- name: Install packages
|
|
15
|
+
run: pip install black isort
|
|
16
|
+
- name: Formatter
|
|
17
|
+
run: |
|
|
18
|
+
black .
|
|
19
|
+
isort .
|
|
20
|
+
- name: Create Pull Request
|
|
21
|
+
uses: peter-evans/create-pull-request@v3
|
|
22
|
+
with:
|
|
23
|
+
commit-message: Auto code format
|
|
24
|
+
title: Fixes by format action
|
|
25
|
+
body: This is an auto-generated PR with fixes.
|
|
26
|
+
labels: automated pr
|
|
27
|
+
branch: python-code-format-patches
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
name: Publish Python release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*.*.*' # Only run for version tags
|
|
7
|
+
paths:
|
|
8
|
+
- 'pyproject.toml' # Ensure the project details have been changed
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
build:
|
|
12
|
+
name: Build distribution
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v4
|
|
16
|
+
- name: Set up Python
|
|
17
|
+
uses: actions/setup-python@v5
|
|
18
|
+
with:
|
|
19
|
+
python-version: "3.x"
|
|
20
|
+
- name: Install pypa/build
|
|
21
|
+
run: >-
|
|
22
|
+
python3 -m
|
|
23
|
+
pip install
|
|
24
|
+
build
|
|
25
|
+
--user
|
|
26
|
+
- name: Build a binary wheel and a source tarball
|
|
27
|
+
run: python3 -m build
|
|
28
|
+
- name: Store the distribution packages
|
|
29
|
+
uses: actions/upload-artifact@v4
|
|
30
|
+
with:
|
|
31
|
+
name: python-package-distributions
|
|
32
|
+
path: dist/
|
|
33
|
+
|
|
34
|
+
github-release:
|
|
35
|
+
name: >-
|
|
36
|
+
Sign distribution and upload to GitHub
|
|
37
|
+
needs:
|
|
38
|
+
- build
|
|
39
|
+
runs-on: ubuntu-latest
|
|
40
|
+
permissions:
|
|
41
|
+
contents: write
|
|
42
|
+
id-token: write
|
|
43
|
+
steps:
|
|
44
|
+
- name: Download the dists
|
|
45
|
+
uses: actions/download-artifact@v4
|
|
46
|
+
with:
|
|
47
|
+
name: python-package-distributions
|
|
48
|
+
path: dist/
|
|
49
|
+
- name: Sign the dists
|
|
50
|
+
uses: sigstore/gh-action-sigstore-python@v3.0.1
|
|
51
|
+
with:
|
|
52
|
+
inputs: >-
|
|
53
|
+
./dist/*.tar.gz
|
|
54
|
+
./dist/*.whl
|
|
55
|
+
- name: Create GitHub Release
|
|
56
|
+
env:
|
|
57
|
+
GITHUB_TOKEN: ${{ github.token }}
|
|
58
|
+
run: >-
|
|
59
|
+
gh release create
|
|
60
|
+
'${{ github.ref_name }}'
|
|
61
|
+
--repo '${{ github.repository }}'
|
|
62
|
+
--notes ""
|
|
63
|
+
- name: Upload artifact signatures to GitHub Release
|
|
64
|
+
env:
|
|
65
|
+
GITHUB_TOKEN: ${{ github.token }}
|
|
66
|
+
run: >-
|
|
67
|
+
gh release upload
|
|
68
|
+
'${{ github.ref_name }}' dist/**
|
|
69
|
+
--repo '${{ github.repository }}'
|
|
70
|
+
|
|
71
|
+
publish-to-pypi:
|
|
72
|
+
name: Publish Python distribution to PyPI
|
|
73
|
+
needs:
|
|
74
|
+
- build
|
|
75
|
+
runs-on: ubuntu-latest
|
|
76
|
+
environment:
|
|
77
|
+
name: pypi
|
|
78
|
+
url: https://pypi.org/p/pyANOVAapprox
|
|
79
|
+
permissions:
|
|
80
|
+
id-token: write
|
|
81
|
+
steps:
|
|
82
|
+
- name: Download the dists
|
|
83
|
+
uses: actions/download-artifact@v4
|
|
84
|
+
with:
|
|
85
|
+
name: python-package-distributions
|
|
86
|
+
path: dist/
|
|
87
|
+
- name: Publish distribution to PyPI
|
|
88
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
.vscode/
|
|
2
|
+
build/
|
|
3
|
+
dist/
|
|
4
|
+
*.egg-info/
|
|
5
|
+
*.egg
|
|
6
|
+
*.py[cod]
|
|
7
|
+
__pycache__/
|
|
8
|
+
venv/
|
|
9
|
+
|
|
10
|
+
bin/
|
|
11
|
+
/lib64/
|
|
12
|
+
pyvenv.cfg
|
|
13
|
+
/lib/
|
|
14
|
+
src/pyNFFT3/lib/AVX2/libfftw3-3.dll
|
|
15
|
+
src/pyNFFT3/lib/AVX2/libgomp-1.dll
|
|
16
|
+
src/pyNFFT3/lib/AVX2/libgcc_s_seh-1.dll
|
|
17
|
+
src/pyNFFT3/lib/AVX2/libwinpthread-1.dll
|