pynumdiff 0.1.2__tar.gz → 0.2.1__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 (112) hide show
  1. pynumdiff-0.2.1/.coveragerc +19 -0
  2. pynumdiff-0.2.1/.editorconfig +11 -0
  3. pynumdiff-0.2.1/.github/workflows/release.yml +18 -0
  4. pynumdiff-0.2.1/.github/workflows/test.yml +25 -0
  5. pynumdiff-0.2.1/.gitignore +120 -0
  6. pynumdiff-0.2.1/.pylintrc +529 -0
  7. pynumdiff-0.2.1/.readthedocs.yaml +16 -0
  8. pynumdiff-0.2.1/CITATION.cff +33 -0
  9. pynumdiff-0.2.1/CONTRIBUTING.md +64 -0
  10. pynumdiff-0.2.1/LICENSE.txt +23 -0
  11. pynumdiff-0.2.1/PKG-INFO +186 -0
  12. pynumdiff-0.2.1/README.md +149 -0
  13. pynumdiff-0.2.1/docs/Makefile +20 -0
  14. pynumdiff-0.2.1/docs/source/LICENSE.rst +27 -0
  15. pynumdiff-0.2.1/docs/source/basis_fit.rst +5 -0
  16. pynumdiff-0.2.1/docs/source/code.rst +15 -0
  17. pynumdiff-0.2.1/docs/source/conf.py +52 -0
  18. pynumdiff-0.2.1/docs/source/contact.rst +8 -0
  19. pynumdiff-0.2.1/docs/source/contributing.rst +19 -0
  20. pynumdiff-0.2.1/docs/source/finite_difference.rst +10 -0
  21. pynumdiff-0.2.1/docs/source/index.rst +10 -0
  22. pynumdiff-0.2.1/docs/source/kalman_smooth.rst +14 -0
  23. pynumdiff-0.2.1/docs/source/linear_model.rst +5 -0
  24. pynumdiff-0.2.1/docs/source/optimize.rst +5 -0
  25. pynumdiff-0.2.1/docs/source/polynomial_fit.rst +5 -0
  26. pynumdiff-0.2.1/docs/source/smooth_finite_difference.rst +12 -0
  27. pynumdiff-0.2.1/docs/source/total_variation_regularization.rst +12 -0
  28. pynumdiff-0.2.1/docs/source/utils/evaluate.rst +5 -0
  29. pynumdiff-0.2.1/docs/source/utils/simulate.rst +5 -0
  30. pynumdiff-0.2.1/docs/source/utils/utility.rst +5 -0
  31. pynumdiff-0.2.1/docs/source/utils.rst +9 -0
  32. pynumdiff-0.2.1/logo.png +0 -0
  33. pynumdiff-0.2.1/notebooks/1_basic_tutorial.ipynb +822 -0
  34. pynumdiff-0.2.1/notebooks/2_optimizing_hyperparameters.ipynb +872 -0
  35. pynumdiff-0.2.1/notebooks/3_automatic_method_suggestion.ipynb +206 -0
  36. pynumdiff-0.2.1/notebooks/4_performance_analysis.ipynb +459 -0
  37. pynumdiff-0.2.1/notebooks/5_robust_outliers_demo.ipynb +205 -0
  38. pynumdiff-0.2.1/notebooks/6_multidimensionality_demo.ipynb +141 -0
  39. pynumdiff-0.2.1/notebooks/README.md +10 -0
  40. pynumdiff-0.2.1/pynumdiff/README.md +13 -0
  41. pynumdiff-0.2.1/pynumdiff/__init__.py +20 -0
  42. pynumdiff-0.2.1/pynumdiff/_version.py +34 -0
  43. pynumdiff-0.2.1/pynumdiff/basis_fit.py +123 -0
  44. pynumdiff-0.2.1/pynumdiff/finite_difference.py +127 -0
  45. pynumdiff-0.2.1/pynumdiff/kalman_smooth.py +351 -0
  46. pynumdiff-0.2.1/pynumdiff/linear_model.py +161 -0
  47. pynumdiff-0.2.1/pynumdiff/optimize.py +307 -0
  48. pynumdiff-0.2.1/pynumdiff/polynomial_fit.py +142 -0
  49. pynumdiff-0.2.1/pynumdiff/smooth_finite_difference.py +182 -0
  50. pynumdiff-0.2.1/pynumdiff/tests/conftest.py +23 -0
  51. pynumdiff-0.2.1/pynumdiff/tests/test_diff_methods.py +375 -0
  52. pynumdiff-0.2.1/pynumdiff/tests/test_optimize.py +44 -0
  53. pynumdiff-0.2.1/pynumdiff/tests/test_utils.py +125 -0
  54. pynumdiff-0.2.1/pynumdiff/total_variation_regularization.py +233 -0
  55. pynumdiff-0.2.1/pynumdiff/utils/__init__.py +0 -0
  56. pynumdiff-0.1.2/pynumdiff/total_variation_regularization/__chartrand_tvregdiff__.py → pynumdiff-0.2.1/pynumdiff/utils/_chartrand_tvregdiff.py +58 -134
  57. pynumdiff-0.2.1/pynumdiff/utils/evaluate.py +147 -0
  58. pynumdiff-0.2.1/pynumdiff/utils/old_pi_cruise_control.py +178 -0
  59. pynumdiff-0.2.1/pynumdiff/utils/simulate.py +335 -0
  60. pynumdiff-0.2.1/pynumdiff/utils/utility.py +209 -0
  61. pynumdiff-0.2.1/pynumdiff.egg-info/PKG-INFO +186 -0
  62. pynumdiff-0.2.1/pynumdiff.egg-info/SOURCES.txt +66 -0
  63. pynumdiff-0.2.1/pynumdiff.egg-info/requires.txt +20 -0
  64. pynumdiff-0.2.1/pyproject.toml +58 -0
  65. pynumdiff-0.1.2/PKG-INFO +0 -27
  66. pynumdiff-0.1.2/README.md +0 -219
  67. pynumdiff-0.1.2/pynumdiff/__init__.py +0 -12
  68. pynumdiff-0.1.2/pynumdiff/__version__.py +0 -57
  69. pynumdiff-0.1.2/pynumdiff/finite_difference/__init__.py +0 -5
  70. pynumdiff-0.1.2/pynumdiff/finite_difference/_finite_difference.py +0 -121
  71. pynumdiff-0.1.2/pynumdiff/kalman_smooth/__init__.py +0 -9
  72. pynumdiff-0.1.2/pynumdiff/kalman_smooth/_kalman_smooth.py +0 -646
  73. pynumdiff-0.1.2/pynumdiff/kalman_smooth/_kalman_smooth_old.py +0 -615
  74. pynumdiff-0.1.2/pynumdiff/linear_model/__init__.py +0 -49
  75. pynumdiff-0.1.2/pynumdiff/linear_model/_linear_model.py +0 -633
  76. pynumdiff-0.1.2/pynumdiff/optimize/__init__.py +0 -33
  77. pynumdiff-0.1.2/pynumdiff/optimize/__optimize__.py +0 -144
  78. pynumdiff-0.1.2/pynumdiff/optimize/finite_difference/__finite_difference__.py +0 -35
  79. pynumdiff-0.1.2/pynumdiff/optimize/finite_difference/__init__.py +0 -4
  80. pynumdiff-0.1.2/pynumdiff/optimize/kalman_smooth/__init__.py +0 -6
  81. pynumdiff-0.1.2/pynumdiff/optimize/kalman_smooth/__kalman_smooth__.py +0 -114
  82. pynumdiff-0.1.2/pynumdiff/optimize/linear_model/__init__.py +0 -8
  83. pynumdiff-0.1.2/pynumdiff/optimize/linear_model/__linear_model__.py +0 -184
  84. pynumdiff-0.1.2/pynumdiff/optimize/smooth_finite_difference/__init__.py +0 -9
  85. pynumdiff-0.1.2/pynumdiff/optimize/smooth_finite_difference/__smooth_finite_difference__.py +0 -183
  86. pynumdiff-0.1.2/pynumdiff/optimize/total_variation_regularization/__init__.py +0 -9
  87. pynumdiff-0.1.2/pynumdiff/optimize/total_variation_regularization/__total_variation_regularization__.py +0 -162
  88. pynumdiff-0.1.2/pynumdiff/smooth_finite_difference/__init__.py +0 -10
  89. pynumdiff-0.1.2/pynumdiff/smooth_finite_difference/_smooth_finite_difference.py +0 -350
  90. pynumdiff-0.1.2/pynumdiff/tests/test_finite_difference.py +0 -44
  91. pynumdiff-0.1.2/pynumdiff/tests/test_kalman_smooth.py +0 -58
  92. pynumdiff-0.1.2/pynumdiff/tests/test_linear_model.py +0 -101
  93. pynumdiff-0.1.2/pynumdiff/tests/test_optimize.py +0 -153
  94. pynumdiff-0.1.2/pynumdiff/tests/test_smooth_finite_difference.py +0 -82
  95. pynumdiff-0.1.2/pynumdiff/tests/test_total_variation_regularization.py +0 -117
  96. pynumdiff-0.1.2/pynumdiff/tests/test_utils.py +0 -20
  97. pynumdiff-0.1.2/pynumdiff/total_variation_regularization/__init__.py +0 -36
  98. pynumdiff-0.1.2/pynumdiff/total_variation_regularization/_total_variation_regularization.py +0 -393
  99. pynumdiff-0.1.2/pynumdiff/utils/__init__.py +0 -6
  100. pynumdiff-0.1.2/pynumdiff/utils/_pi_cruise_control.py +0 -65
  101. pynumdiff-0.1.2/pynumdiff/utils/evaluate.py +0 -213
  102. pynumdiff-0.1.2/pynumdiff/utils/old_pi_cruise_control.py +0 -228
  103. pynumdiff-0.1.2/pynumdiff/utils/simulate.py +0 -559
  104. pynumdiff-0.1.2/pynumdiff/utils/utility.py +0 -283
  105. pynumdiff-0.1.2/pynumdiff.egg-info/PKG-INFO +0 -27
  106. pynumdiff-0.1.2/pynumdiff.egg-info/SOURCES.txt +0 -47
  107. pynumdiff-0.1.2/pynumdiff.egg-info/requires.txt +0 -3
  108. pynumdiff-0.1.2/setup.py +0 -30
  109. {pynumdiff-0.1.2 → pynumdiff-0.2.1}/pynumdiff/tests/__init__.py +0 -0
  110. {pynumdiff-0.1.2 → pynumdiff-0.2.1}/pynumdiff.egg-info/dependency_links.txt +0 -0
  111. {pynumdiff-0.1.2 → pynumdiff-0.2.1}/pynumdiff.egg-info/top_level.txt +0 -0
  112. {pynumdiff-0.1.2 → pynumdiff-0.2.1}/setup.cfg +0 -0
@@ -0,0 +1,19 @@
1
+ [run]
2
+ omit =
3
+ pynumdiff/_version.py
4
+ pynumdiff/tests/*
5
+ pynumdiff/utils/old_pi_cruise_control.py
6
+
7
+ [report]
8
+ # uses regex to match lines; lines that head a block or function exclude that whole thing
9
+ exclude_lines =
10
+ pragma: no cover
11
+ if __name__ == .__main__.:
12
+ if diagflag:
13
+ if options is not None:
14
+ ^def plot
15
+ ^def plot_comparison
16
+ ^def suggest_method
17
+ def _lorenz_xyz_odeint
18
+ ^except ImportError:
19
+
@@ -0,0 +1,11 @@
1
+ root = true
2
+
3
+ [*.py]
4
+ indent_style = tab
5
+ indent_size = 4
6
+ trim_trailing_whitespace = true
7
+
8
+ [*.ipynb]
9
+ indent_style = tab
10
+ indent_size = 4
11
+ trim_trailing_whitespace = true
@@ -0,0 +1,18 @@
1
+ on:
2
+ release:
3
+ types: [created]
4
+ jobs:
5
+ deploy-to-pypi:
6
+ runs-on: ubuntu-latest
7
+ env:
8
+ TWINE_USERNAME: __token__
9
+ TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
10
+ steps:
11
+ - uses: actions/checkout@v4
12
+ - uses: actions/setup-python@v5
13
+ with:
14
+ python-version: '3.x'
15
+ - run: |
16
+ pip install build wheel twine
17
+ python -m build
18
+ twine upload dist/*
@@ -0,0 +1,25 @@
1
+ on:
2
+ push:
3
+ branches:
4
+ - master
5
+ pull_request:
6
+
7
+ jobs:
8
+ run-tests:
9
+ runs-on: ubuntu-latest
10
+ steps:
11
+ - uses: actions/checkout@v4
12
+ with:
13
+ fetch-depth: 0 # important for Coveralls to read commit history
14
+ - uses: actions/setup-python@v5
15
+ with:
16
+ python-version: '3.13' # because cvxopt binaries for 3.14 don't yet exist, and building is terrible
17
+ - name: tests and coverage
18
+ run: | # some extra stuff here to make sure coverage works across multiprocessing
19
+ pip install -e .[advanced,dev] coveralls
20
+ coverage run --source=pynumdiff -m pytest -s
21
+ coverage xml
22
+ - uses: coverallsapp/github-action@v2
23
+ with:
24
+ format: cobertura
25
+ file: coverage.xml
@@ -0,0 +1,120 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ develop-eggs/
12
+ dist/
13
+ downloads/
14
+ eggs/
15
+ .eggs/
16
+ lib/
17
+ lib64/
18
+ parts/
19
+ sdist/
20
+ var/
21
+ wheels/
22
+ *.egg-info/
23
+ .installed.cfg
24
+ *.egg
25
+ MANIFEST
26
+
27
+ # PyInstaller
28
+ # Usually these files are written by a python script from a template
29
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
30
+ *.manifest
31
+ *.spec
32
+
33
+ # Installer logs
34
+ pip-log.txt
35
+ pip-delete-this-directory.txt
36
+
37
+ # Unit test / coverage reports
38
+ htmlcov/
39
+ .tox/
40
+ .coverage
41
+ .coverage.*
42
+ .cache
43
+ nosetests.xml
44
+ coverage.xml
45
+ *.cover
46
+ .hypothesis/
47
+ .pytest_cache/
48
+
49
+ # Translations
50
+ *.mo
51
+ *.pot
52
+
53
+ # Django stuff:
54
+ *.log
55
+ local_settings.py
56
+ db.sqlite3
57
+
58
+ # Flask stuff:
59
+ instance/
60
+ .webassets-cache
61
+
62
+ # Scrapy stuff:
63
+ .scrapy
64
+
65
+ # PyBuilder
66
+ target/
67
+
68
+ # Jupyter Notebook
69
+ .ipynb_checkpoints
70
+
71
+ # pyenv
72
+ .python-version
73
+
74
+ # celery beat schedule file
75
+ celerybeat-schedule
76
+
77
+ # SageMath parsed files
78
+ *.sage.py
79
+
80
+ # Environments
81
+ .env
82
+ .venv
83
+ env/
84
+ venv/
85
+ ENV/
86
+ env.bak/
87
+ venv.bak/
88
+
89
+ # Spyder project settings
90
+ .spyderproject
91
+ .spyproject
92
+
93
+ # Rope project settings
94
+ .ropeproject
95
+
96
+ # mkdocs documentation
97
+ /site
98
+
99
+ # mypy
100
+ .mypy_cache/
101
+
102
+ # add
103
+ *.[oa]
104
+ *~
105
+ .idea
106
+ .DS_Store
107
+ *.nc
108
+ *.csv
109
+ *.mat
110
+ .coverage
111
+ __pycache__
112
+ *.tar
113
+ *.tar.gz
114
+ *.zip
115
+ *.egg-info
116
+ dist
117
+ *.whl
118
+ .vscode
119
+ docs/build
120
+ pynumdiff/_version.py