FluctuationAnalysisTools 1.10.0__tar.gz → 1.11.0.dev0__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 (108) hide show
  1. fluctuationanalysistools-1.11.0.dev0/.github/workflows/reusable_build-wheels.yml +64 -0
  2. fluctuationanalysistools-1.11.0.dev0/.github/workflows/reusable_pre-commit-validation.yml +47 -0
  3. fluctuationanalysistools-1.11.0.dev0/.github/workflows/reusable_test.yml +78 -0
  4. fluctuationanalysistools-1.11.0.dev0/.github/workflows/run-tests.yml +50 -0
  5. fluctuationanalysistools-1.11.0.dev0/.github/workflows/test-and-release.yml +106 -0
  6. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/CHANGELOG.md +6 -6
  7. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0/FluctuationAnalysisTools.egg-info}/PKG-INFO +1 -1
  8. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/FluctuationAnalysisTools.egg-info/SOURCES.txt +7 -1
  9. {fluctuationanalysistools-1.10.0/FluctuationAnalysisTools.egg-info → fluctuationanalysistools-1.11.0.dev0}/PKG-INFO +1 -1
  10. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/_version.py +3 -3
  11. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/analysis/__init__.py +1 -0
  12. fluctuationanalysistools-1.11.0.dev0/StatTools/analysis/bma.py +248 -0
  13. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/pyproject.toml +3 -1
  14. fluctuationanalysistools-1.11.0.dev0/research/bma.ipynb +2037 -0
  15. fluctuationanalysistools-1.11.0.dev0/tests/test_bma.py +97 -0
  16. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests/test_pybind11_bindings.py +11 -5
  17. fluctuationanalysistools-1.10.0/.github/workflows/run-tests.yml +0 -113
  18. fluctuationanalysistools-1.10.0/.github/workflows/test-and-release.yml +0 -152
  19. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/.gitattributes +0 -0
  20. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  21. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  22. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/.gitignore +0 -0
  23. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/.pre-commit-config.yaml +0 -0
  24. /fluctuationanalysistools-1.10.0/CONTRIBUTION.md → /fluctuationanalysistools-1.11.0.dev0/CONTRIBUTING.md +0 -0
  25. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/FluctuationAnalysisTools.egg-info/dependency_links.txt +0 -0
  26. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/FluctuationAnalysisTools.egg-info/requires.txt +0 -0
  27. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/FluctuationAnalysisTools.egg-info/top_level.txt +0 -0
  28. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/LICENSE.txt +0 -0
  29. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/MANIFEST.in +0 -0
  30. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/README.md +0 -0
  31. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/Gamma.py +0 -0
  32. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/__init__.py +0 -0
  33. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/analysis/dfa.py +0 -0
  34. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/analysis/dpcca.py +0 -0
  35. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/analysis/dpcca_as_class.py +0 -0
  36. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/analysis/fa.py +0 -0
  37. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/analysis/movmean.py +0 -0
  38. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/analysis/nd_dfa.py +0 -0
  39. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/analysis/nonequidistant/__init__.py +0 -0
  40. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/analysis/nonequidistant/dfa.py +0 -0
  41. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/analysis/qss.py +0 -0
  42. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/analysis/support_ff.py +0 -0
  43. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/analysis/svd_dfa.py +0 -0
  44. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/analysis/utils.py +0 -0
  45. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/auxiliary.py +0 -0
  46. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/experimental/__init__.py +0 -0
  47. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/experimental/analysis/__init__.py +0 -0
  48. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/experimental/analysis/tools.py +0 -0
  49. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/experimental/augmentation/__init__.py +0 -0
  50. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/experimental/augmentation/perturbations.py +0 -0
  51. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/experimental/synthesis/__init__.py +0 -0
  52. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/experimental/synthesis/tools.py +0 -0
  53. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/filters/kalman_filter.py +0 -0
  54. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/filters/symbolic_kalman.py +0 -0
  55. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/generators/__init__.py +0 -0
  56. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/generators/base_filter.py +0 -0
  57. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/generators/cholesky_transform.py +0 -0
  58. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/generators/fbm.py +0 -0
  59. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/generators/field_generator.py +0 -0
  60. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/generators/kasdin_generator.py +0 -0
  61. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/generators/lbfbm_generator.py +0 -0
  62. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/generators/ndfnoise_generator.py +0 -0
  63. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/native/.gitkeep +0 -0
  64. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/utilities/deprecation.py +0 -0
  65. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/visualization/__init__.py +0 -0
  66. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/StatTools/visualization/plot_ff.py +0 -0
  67. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/research/Video-based_marker-free_tracking_and_multi-scale_analysis.ipynb +0 -0
  68. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/research/__init__.py +0 -0
  69. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/research/ff_analysis.ipynb +0 -0
  70. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/research/kalman_filter/__init__.py +0 -0
  71. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/research/kalman_filter/high-order_kalman.ipynb +0 -0
  72. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/research/kalman_filter/kalman-kasdin.ipynb +0 -0
  73. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/research/kalman_filter/kalman_experiments.py +0 -0
  74. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/research/kalman_filter/kalman_filter.ipynb +0 -0
  75. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/research/kalman_filter/kalman_filter[ru].ipynb +0 -0
  76. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/research/kalman_filter/svd_dfa_demo.ipynb +0 -0
  77. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/research/lbfbm_generator.ipynb +0 -0
  78. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/research/ndfnoise_generator.ipynb +0 -0
  79. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/research/readme.md +0 -0
  80. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/setup.cfg +0 -0
  81. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/setup.py +0 -0
  82. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/src/cpp/DFA.cpp +0 -0
  83. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/src/cpp/StatTools_C_API.cpp +0 -0
  84. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/src/cpp/StatTools_bindings.cpp +0 -0
  85. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/src/cpp/StatTools_core.cpp +0 -0
  86. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/src/cpp/StatTools_core.h +0 -0
  87. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests/test_dfa.py +0 -0
  88. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests/test_dfa_func.py +0 -0
  89. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests/test_dpcca.py +0 -0
  90. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests/test_fa.py +0 -0
  91. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests/test_filter.py +0 -0
  92. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests/test_filtered_array.py +0 -0
  93. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests/test_kalman_filter.py +0 -0
  94. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests/test_kasdin_generator.py +0 -0
  95. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests/test_lbfbm_generator.py +0 -0
  96. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests/test_nddfa.py +0 -0
  97. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests/test_ndfnoise_generator.py +0 -0
  98. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests/test_ne_dfa.py +0 -0
  99. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests/test_svd_dfa.py +0 -0
  100. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests/test_unified_generator.py +0 -0
  101. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests/test_utils.py +0 -0
  102. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests_manual/cholesky_with_R.py +0 -0
  103. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests_manual/dfa_test.py +0 -0
  104. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests_manual/dpcca_pipe.py +0 -0
  105. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests_manual/dpcca_test.py +0 -0
  106. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests_manual/ff_visualization_test.py +0 -0
  107. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests_manual/ff_zero_crossover_visualisation_test.py +0 -0
  108. {fluctuationanalysistools-1.10.0 → fluctuationanalysistools-1.11.0.dev0}/tests_manual/test_buffer.py +0 -0
@@ -0,0 +1,64 @@
1
+ name: Reusable - Build Wheels
2
+
3
+ on:
4
+ workflow_call:
5
+ inputs:
6
+ os:
7
+ description: 'The operating system to build on'
8
+ required: true
9
+ type: string
10
+ python-version:
11
+ description: 'The Python version to use'
12
+ required: true
13
+ type: string
14
+ outputs:
15
+ artifact-name:
16
+ description: 'The name of the uploaded artifact'
17
+ value: ${{ jobs.build-wheels.outputs.artifact-name }}
18
+
19
+ permissions:
20
+ contents: read
21
+
22
+ jobs:
23
+ build-wheels:
24
+ runs-on: ${{ inputs.os }}
25
+
26
+ outputs:
27
+ artifact-name: fluctuation-analysis-tools-${{ inputs.os }}-${{ inputs.python-version }}
28
+
29
+ steps:
30
+ - name: Checkout repository
31
+ uses: actions/checkout@v3
32
+
33
+ - name: Set up Python
34
+ uses: actions/setup-python@v4
35
+ with:
36
+ python-version: ${{ inputs.python-version }}
37
+
38
+ - name: Install build dependencies
39
+ run: |
40
+ python -m pip install --upgrade pip setuptools wheel build
41
+
42
+ - name: Build wheels
43
+ if: ${{ inputs.os != 'ubuntu-latest' }}
44
+ run: |
45
+ python -m build --wheel --outdir wheelhouse
46
+
47
+ - name: Build sdist (Linux)
48
+ if: ${{ inputs.os == 'ubuntu-latest' }}
49
+ run: |
50
+ python -m build --sdist --outdir sdisthouse
51
+
52
+ - name: Upload wheels as artifacts
53
+ if: ${{ inputs.os != 'ubuntu-latest' }}
54
+ uses: actions/upload-artifact@v4
55
+ with:
56
+ name: fluctuation-analysis-tools-${{ inputs.os }}-${{ inputs.python-version }}
57
+ path: ./wheelhouse/*.whl
58
+
59
+ - name: Upload sdist as artifacts
60
+ if: ${{ inputs.os == 'ubuntu-latest' }}
61
+ uses: actions/upload-artifact@v4
62
+ with:
63
+ name: fluctuation-analysis-tools-${{ inputs.os }}-${{ inputs.python-version }}
64
+ path: ./sdisthouse/*.tar.gz
@@ -0,0 +1,47 @@
1
+ name: Reusable - Pre-commit Validation
2
+
3
+ on:
4
+ workflow_call:
5
+ outputs:
6
+ cache-key:
7
+ description: 'The cache key used for pip dependencies'
8
+ value: ${{ jobs.pre-commit-validation.outputs.cache-key }}
9
+
10
+ permissions:
11
+ contents: read
12
+
13
+ jobs:
14
+ pre-commit-validation:
15
+ runs-on: ubuntu-latest
16
+
17
+ outputs:
18
+ cache-key: ${{ steps.cache-pip.outputs.key || 'pip-precommit-' }}
19
+
20
+ steps:
21
+ - name: Checkout repository
22
+ uses: actions/checkout@v3
23
+
24
+ - name: Set up Python
25
+ uses: actions/setup-python@v4
26
+ with:
27
+ python-version: "3.11"
28
+
29
+ - name: Cache pip dependencies
30
+ id: cache-pip
31
+ uses: actions/cache@v3
32
+ with:
33
+ path: ~/.cache/pip
34
+ key: pip-precommit-${{ hashFiles('**/pyproject.toml', '**/.pre-commit-config.yaml') }}
35
+ restore-keys: |
36
+ pip-precommit-
37
+
38
+ - name: Install pre-commit
39
+ shell: bash
40
+ run: |
41
+ python -m pip install --upgrade pip
42
+ pip install pre-commit
43
+
44
+ - name: Run pre-commit validation
45
+ shell: bash
46
+ run: |
47
+ pre-commit run --all-files
@@ -0,0 +1,78 @@
1
+ name: Reusable - Test
2
+
3
+ on:
4
+ workflow_call:
5
+ inputs:
6
+ os:
7
+ description: 'The operating system to test on'
8
+ required: true
9
+ type: string
10
+ python-version:
11
+ description: 'The Python version to use'
12
+ required: true
13
+ type: string
14
+
15
+ permissions:
16
+ contents: read
17
+
18
+ jobs:
19
+ test:
20
+ runs-on: ${{ inputs.os }}
21
+
22
+ env:
23
+ CI: true
24
+
25
+ steps:
26
+ - name: Checkout repository
27
+ uses: actions/checkout@v3
28
+
29
+ - name: Set up Python
30
+ uses: actions/setup-python@v4
31
+ with:
32
+ python-version: ${{ inputs.python-version }}
33
+
34
+ - name: Install dependencies on MacOS
35
+ if: ${{ inputs.os == 'macos-latest' }}
36
+ shell: bash
37
+ run: |
38
+ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
39
+ brew install numpy scipy
40
+ python -m pip install --upgrade pip wheel setuptools
41
+ pip install pytest pytest-timeout
42
+
43
+ - name: Install dependencies
44
+ if: inputs.os != 'macos-latest'
45
+ shell: bash
46
+ run: |
47
+ python -m pip install --upgrade pip wheel
48
+ pip install pytest pytest-timeout
49
+
50
+ - name: Download wheels artifact
51
+ uses: actions/download-artifact@v4
52
+ with:
53
+ name: fluctuation-analysis-tools-${{ inputs.os }}-${{ inputs.python-version }}
54
+ path: wheelhouse
55
+
56
+ - name: Install FluctuationAnalysisTools from wheel
57
+ if: ${{ inputs.os != 'ubuntu-latest' }}
58
+ shell: bash
59
+ run: |
60
+ pip install wheelhouse/*.whl
61
+
62
+ - name: Install FluctuationAnalysisTools from sdist
63
+ if: ${{ inputs.os == 'ubuntu-latest' }}
64
+ shell: bash
65
+ run: |
66
+ pip install wheelhouse/*.tar.gz
67
+
68
+ - name: Run tests
69
+ run: |
70
+ mkdir -p test-results
71
+ pytest tests/ --junitxml=test-results/${{ runner.os }}.xml -v
72
+
73
+ - name: Upload test results
74
+ if: always()
75
+ uses: actions/upload-artifact@v4
76
+ with:
77
+ name: test-results-${{ runner.os }}
78
+ path: test-results/
@@ -0,0 +1,50 @@
1
+ name: Run Tests
2
+
3
+ on:
4
+ pull_request:
5
+ branches:
6
+ - main
7
+ push:
8
+ branches:
9
+ - main
10
+
11
+ permissions:
12
+ contents: read
13
+
14
+ jobs:
15
+ pre-commit-validation:
16
+ uses: ./.github/workflows/reusable_pre-commit-validation.yml
17
+
18
+ build-wheels:
19
+ strategy:
20
+ matrix:
21
+ os: [ubuntu-latest, windows-latest, macos-latest]
22
+ python-version: ["3.11"]
23
+ fail-fast: false
24
+
25
+ uses: ./.github/workflows/reusable_build-wheels.yml
26
+ with:
27
+ os: ${{ matrix.os }}
28
+ python-version: ${{ matrix.python-version }}
29
+ needs: pre-commit-validation
30
+
31
+ test:
32
+ strategy:
33
+ matrix:
34
+ include:
35
+ - os: ubuntu-latest
36
+ python-version: "3.11"
37
+ artifact-name: fluctuation-analysis-tools-ubuntu-latest-3.11
38
+ - os: windows-latest
39
+ python-version: "3.11"
40
+ artifact-name: fluctuation-analysis-tools-windows-latest-3.11
41
+ - os: macos-latest
42
+ python-version: "3.11"
43
+ artifact-name: fluctuation-analysis-tools-macos-latest-3.11
44
+ fail-fast: false
45
+
46
+ uses: ./.github/workflows/reusable_test.yml
47
+ with:
48
+ os: ${{ matrix.os }}
49
+ python-version: ${{ matrix.python-version }}
50
+ needs: build-wheels
@@ -0,0 +1,106 @@
1
+ name: Test and Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'release/[0-9]+.[0-9]+.[0-9]+*'
7
+ workflow_dispatch: # Allow manual triggering
8
+
9
+ permissions:
10
+ contents: read
11
+ jobs:
12
+ pre-commit-validation:
13
+ uses: ./.github/workflows/reusable_pre-commit-validation.yml
14
+
15
+ build-wheels:
16
+ strategy:
17
+ matrix:
18
+ os: [ubuntu-latest, windows-latest, macos-latest]
19
+ python-version: ["3.11"]
20
+ fail-fast: false
21
+
22
+ uses: ./.github/workflows/reusable_build-wheels.yml
23
+ with:
24
+ os: ${{ matrix.os }}
25
+ python-version: ${{ matrix.python-version }}
26
+ needs: pre-commit-validation
27
+
28
+ test:
29
+ strategy:
30
+ matrix:
31
+ include:
32
+ - os: ubuntu-latest
33
+ python-version: "3.11"
34
+ artifact-name: fluctuation-analysis-tools-ubuntu-latest-3.11
35
+ - os: windows-latest
36
+ python-version: "3.11"
37
+ artifact-name: fluctuation-analysis-tools-windows-latest-3.11
38
+ - os: macos-latest
39
+ python-version: "3.11"
40
+ artifact-name: fluctuation-analysis-tools-macos-latest-3.11
41
+ fail-fast: false
42
+
43
+ uses: ./.github/workflows/reusable_test.yml
44
+ with:
45
+ os: ${{ matrix.os }}
46
+ python-version: ${{ matrix.python-version }}
47
+ needs: build-wheels
48
+
49
+ deploy:
50
+ runs-on: ubuntu-latest
51
+ needs: test
52
+ permissions:
53
+ contents: write
54
+
55
+ steps:
56
+ - name: Checkout repository
57
+ uses: actions/checkout@v3
58
+
59
+ - name: Get release name
60
+ id: get-release
61
+ run: |
62
+ TAG=$(git describe --tags --abbrev=0)
63
+ RELEASE_NAME=$(echo "$TAG" | sed 's|^release/||')
64
+ echo "tag=$TAG" >> $GITHUB_OUTPUT
65
+ echo "release_name=$RELEASE_NAME" >> $GITHUB_OUTPUT
66
+
67
+ - name: Download sdist artifact
68
+ uses: actions/download-artifact@v4
69
+ with:
70
+ pattern: fluctuation-analysis-tools-*.tar.gz
71
+ path: ./artifacts
72
+
73
+ - name: Download wheels artifact
74
+ uses: actions/download-artifact@v4
75
+ with:
76
+ pattern: fluctuation-analysis-tools-*
77
+ path: ./artifacts
78
+
79
+ - name: Copy .whl files to dist directory
80
+ run: |
81
+ mkdir -p dist
82
+ find ./artifacts -name "*.whl" -exec cp {} ./dist \;
83
+
84
+ - name: Copy .tar.gz files to dist directory
85
+ run: |
86
+ mkdir -p dist
87
+ find ./artifacts -name "*.tar.gz" -exec cp {} ./dist \;
88
+
89
+ - name: Create Github Release
90
+ uses: softprops/action-gh-release@v2
91
+ with:
92
+ tag_name: ${{ steps.get-release.outputs.tag }}
93
+ name: fluctuation-analysis-tools ${{ steps.get-release.outputs.release_name }}
94
+ draft: false
95
+ prerelease: false
96
+ body: |
97
+ This release was created based on the tag **${{ steps.get-release.outputs.tag }}**.
98
+ files: |
99
+ ./dist/*.whl
100
+ ./dist/*.tar.gz
101
+
102
+ - name: Publish to PyPI
103
+ uses: pypa/gh-action-pypi-publish@release/v1
104
+ with:
105
+ user: __token__
106
+ password: ${{ secrets.PYPI_TOKEN }}
@@ -3,19 +3,19 @@
3
3
  ## 1.10.0
4
4
 
5
5
  * [GH-73](https://github.com/Digiratory/FluctuationAnalysisTools/issues/73) refactor: Restructure C++ codebase and add StatTools package with pybind11 bindings.
6
- * [GH-71](https://github.com/Digiratory/FluctuationAnalysisTools/issues/71) cicd: Add pre-commit validation proir tests.
7
- * [GH-67](https://github.com/Digiratory/FluctuationAnalysisTools/issues/67) feat: NEW Method multidimantional DFA.
8
- * [GH-63](https://github.com/Digiratory/FluctuationAnalysisTools/issues/63)[PR-46](https://github.com/Digiratory/FluctuationAnalysisTools/pull/46) feat: fluctiational function analysis and visualization.
6
+ * [GH-71](https://github.com/Digiratory/FluctuationAnalysisTools/issues/71) cicd: Add pre-commit validation prior tests.
7
+ * [GH-67](https://github.com/Digiratory/FluctuationAnalysisTools/issues/67) feat: NEW Method multidimensional DFA.
8
+ * [GH-63](https://github.com/Digiratory/FluctuationAnalysisTools/issues/63)[PR-46](https://github.com/Digiratory/FluctuationAnalysisTools/pull/46) feat: fluctuation function analysis and visualization.
9
9
  * [GH-61](https://github.com/Digiratory/FluctuationAnalysisTools/issues/61) feat: Function-style fbn generator (common entry point).
10
10
  * [GH-58](https://github.com/Digiratory/FluctuationAnalysisTools/issues/58) feat: NEW Method to generate Power-law colored noise signals of any dimensions.
11
11
  * [GH-50](https://github.com/Digiratory/FluctuationAnalysisTools/issues/50) refactor: Extract the core of dpcca in a separate method.
12
12
  * [PR-69](https://github.com/Digiratory/FluctuationAnalysisTools/pull/69) refactor: Refactor DFA implementation into modular functions, add function style interface for dfa.
13
13
  * [PR-65](https://github.com/Digiratory/FluctuationAnalysisTools/pull/65) feat: NEW Method SVD-DFA.
14
- * [PR-60](https://github.com/Digiratory/FluctuationAnalysisTools/pull/60)[PR-78](https://github.com/Digiratory/FluctuationAnalysisTools/pull/78)[PR-80](https://github.com/Digiratory/FluctuationAnalysisTools/pull/80)[PR-81](https://github.com/Digiratory/FluctuationAnalysisTools/pull/81)[PR-82](https://github.com/Digiratory/FluctuationAnalysisTools/pull/82)[PR-83](https://github.com/Digiratory/FluctuationAnalysisTools/pull/83)[PR-85](https://github.com/Digiratory/FluctuationAnalysisTools/pull/85): Mutliple minor fixes in CI/CD and code.
14
+ * [PR-60](https://github.com/Digiratory/FluctuationAnalysisTools/pull/60)[PR-78](https://github.com/Digiratory/FluctuationAnalysisTools/pull/78)[PR-80](https://github.com/Digiratory/FluctuationAnalysisTools/pull/80)[PR-81](https://github.com/Digiratory/FluctuationAnalysisTools/pull/81)[PR-82](https://github.com/Digiratory/FluctuationAnalysisTools/pull/82)[PR-83](https://github.com/Digiratory/FluctuationAnalysisTools/pull/83)[PR-85](https://github.com/Digiratory/FluctuationAnalysisTools/pull/85): Multiple minor fixes in CI/CD and code.
15
15
 
16
16
  ## 1.9.0
17
17
 
18
- * [GH-13](https://github.com/Digiratory/StatTools/issues/13) fix: posible unbalances tuple unpacking from method dpcca.
18
+ * [GH-13](https://github.com/Digiratory/StatTools/issues/13) fix: possible unbalances tuple unpacking from method dpcca.
19
19
  * [GH-13](https://github.com/Digiratory/StatTools/issues/13) docs: update documentation for dpcca method.
20
20
  * [GH-13](https://github.com/Digiratory/StatTools/issues/13) refactor: update code for dpcca method to improve performance and readability.
21
21
  * [GH-18](https://github.com/Digiratory/StatTools/issues/18) feat: Enhanced Kalman filter with auto calculation of transition matrix and measurement covariance matrix based on Kasdin model.
@@ -44,7 +44,7 @@
44
44
 
45
45
  ## 1.6.0
46
46
 
47
- * [GH-1](https://github.com/Digiratory/StatTools/issues/1) Add argument `n_integral=1` in `StatTools.analysis.dpcca.dpcca` to provide possibility to control integretion in the beggining of the dpcca(dfa) analysis pipeline.
47
+ * [GH-1](https://github.com/Digiratory/StatTools/issues/1) Add argument `n_integral=1` in `StatTools.analysis.dpcca.dpcca` to provide possibility to control integration in the beginning of the dpcca(dfa) analysis pipeline.
48
48
  * fix: failure is processes == 1 and 1d array
49
49
  * fix: remove normalization from dpcca processing
50
50
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: FluctuationAnalysisTools
3
- Version: 1.10.0
3
+ Version: 1.11.0.dev0
4
4
  Summary: Python library for DFA, Hurst exponent, and fluctuation analysis of time series.
5
5
  Author: Maya Gavrichenkova, Timofey Baburin, Olga Ivleva
6
6
  Author-email: Aleksandr Sinitca <amsinitca@etu.ru>, Alexandr Kuzmenko <alexander.k.spb@gmail.com>, Asya Lyanova <ailianova@etu.ru>
@@ -2,7 +2,7 @@
2
2
  .gitignore
3
3
  .pre-commit-config.yaml
4
4
  CHANGELOG.md
5
- CONTRIBUTION.md
5
+ CONTRIBUTING.md
6
6
  LICENSE.txt
7
7
  MANIFEST.in
8
8
  README.md
@@ -10,6 +10,9 @@ pyproject.toml
10
10
  setup.py
11
11
  .github/ISSUE_TEMPLATE/bug_report.md
12
12
  .github/ISSUE_TEMPLATE/feature_request.md
13
+ .github/workflows/reusable_build-wheels.yml
14
+ .github/workflows/reusable_pre-commit-validation.yml
15
+ .github/workflows/reusable_test.yml
13
16
  .github/workflows/run-tests.yml
14
17
  .github/workflows/test-and-release.yml
15
18
  FluctuationAnalysisTools.egg-info/PKG-INFO
@@ -22,6 +25,7 @@ StatTools/__init__.py
22
25
  StatTools/_version.py
23
26
  StatTools/auxiliary.py
24
27
  StatTools/analysis/__init__.py
28
+ StatTools/analysis/bma.py
25
29
  StatTools/analysis/dfa.py
26
30
  StatTools/analysis/dpcca.py
27
31
  StatTools/analysis/dpcca_as_class.py
@@ -57,6 +61,7 @@ StatTools/visualization/__init__.py
57
61
  StatTools/visualization/plot_ff.py
58
62
  research/Video-based_marker-free_tracking_and_multi-scale_analysis.ipynb
59
63
  research/__init__.py
64
+ research/bma.ipynb
60
65
  research/ff_analysis.ipynb
61
66
  research/lbfbm_generator.ipynb
62
67
  research/ndfnoise_generator.ipynb
@@ -73,6 +78,7 @@ src/cpp/StatTools_C_API.cpp
73
78
  src/cpp/StatTools_bindings.cpp
74
79
  src/cpp/StatTools_core.cpp
75
80
  src/cpp/StatTools_core.h
81
+ tests/test_bma.py
76
82
  tests/test_dfa.py
77
83
  tests/test_dfa_func.py
78
84
  tests/test_dpcca.py
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: FluctuationAnalysisTools
3
- Version: 1.10.0
3
+ Version: 1.11.0.dev0
4
4
  Summary: Python library for DFA, Hurst exponent, and fluctuation analysis of time series.
5
5
  Author: Maya Gavrichenkova, Timofey Baburin, Olga Ivleva
6
6
  Author-email: Aleksandr Sinitca <amsinitca@etu.ru>, Alexandr Kuzmenko <alexander.k.spb@gmail.com>, Asya Lyanova <ailianova@etu.ru>
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '1.10.0'
32
- __version_tuple__ = version_tuple = (1, 10, 0)
31
+ __version__ = version = '1.11.0.dev0'
32
+ __version_tuple__ = version_tuple = (1, 11, 0, 'dev0')
33
33
 
34
- __commit_id__ = commit_id = 'g8d5d8f2bc'
34
+ __commit_id__ = commit_id = 'g90f7796de'
@@ -1,3 +1,4 @@
1
+ from .bma import bma
1
2
  from .dpcca import dpcca
2
3
  from .fa import fa
3
4
  from .nd_dfa import nd_dfa