dkist-processing-math 2.2.0rc1__tar.gz → 2.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 (45) hide show
  1. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/.pre-commit-config.yaml +6 -6
  2. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/CHANGELOG.rst +28 -0
  3. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/PKG-INFO +7 -2
  4. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/README.rst +5 -0
  5. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/bitbucket-pipelines.yml +8 -1
  6. dkist_processing_math-2.2.1/dkist_processing_math/__init__.py +10 -0
  7. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/dkist_processing_math/arithmetic.py +1 -0
  8. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/dkist_processing_math/feature.py +1 -0
  9. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/dkist_processing_math/linear_algebra.py +1 -0
  10. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/dkist_processing_math/statistics.py +6 -5
  11. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/dkist_processing_math/transform/__init__.py +1 -0
  12. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/dkist_processing_math/transform/affine.py +1 -0
  13. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/dkist_processing_math/transform/binary.py +1 -0
  14. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/dkist_processing_math/transform/binning.py +1 -0
  15. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/dkist_processing_math/transform/hough.py +1 -0
  16. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/dkist_processing_math.egg-info/PKG-INFO +7 -2
  17. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/dkist_processing_math.egg-info/SOURCES.txt +0 -3
  18. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/docs/conf.py +1 -0
  19. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/pyproject.toml +9 -0
  20. dkist_processing_math-2.2.0rc1/changelog/18.misc.rst +0 -1
  21. dkist_processing_math-2.2.0rc1/changelog/19.misc.rst +0 -1
  22. dkist_processing_math-2.2.0rc1/changelog/20.feature.rst +0 -2
  23. dkist_processing_math-2.2.0rc1/dkist_processing_math/__init__.py +0 -9
  24. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/.gitignore +0 -0
  25. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/.readthedocs.yml +0 -0
  26. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/.snyk +0 -0
  27. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/changelog/.gitempty +0 -0
  28. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/dkist_processing_math/tests/__init__.py +0 -0
  29. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/dkist_processing_math/tests/conftest.py +0 -0
  30. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/dkist_processing_math/tests/test_arithmetic.py +0 -0
  31. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/dkist_processing_math/tests/test_feature.py +0 -0
  32. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/dkist_processing_math/tests/test_linear_algebra.py +0 -0
  33. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/dkist_processing_math/tests/test_statistics.py +0 -0
  34. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/dkist_processing_math/tests/test_transform.py +0 -0
  35. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/dkist_processing_math.egg-info/dependency_links.txt +0 -0
  36. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/dkist_processing_math.egg-info/requires.txt +0 -0
  37. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/dkist_processing_math.egg-info/top_level.txt +0 -0
  38. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/docs/Makefile +0 -0
  39. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/docs/changelog.rst +0 -0
  40. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/docs/index.rst +0 -0
  41. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/docs/landing_page.rst +0 -0
  42. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/docs/make.bat +0 -0
  43. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/docs/requirements.txt +0 -0
  44. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/licenses/LICENSE.rst +0 -0
  45. {dkist_processing_math-2.2.0rc1 → dkist_processing_math-2.2.1}/setup.cfg +0 -0
@@ -2,7 +2,7 @@
2
2
  # See https://pre-commit.com/hooks.html for more hooks
3
3
  repos:
4
4
  - repo: https://github.com/pre-commit/pre-commit-hooks
5
- rev: v2.4.0
5
+ rev: v5.0.0
6
6
  hooks:
7
7
  - id: trailing-whitespace
8
8
  - id: end-of-file-fixer
@@ -10,14 +10,14 @@ repos:
10
10
  - id: check-added-large-files
11
11
  - id: debug-statements
12
12
  - repo: https://github.com/psf/black
13
- rev: 22.3.0
13
+ rev: 25.1.0
14
14
  hooks:
15
15
  - id: black
16
- args: [ "-l 100" ]
17
- - repo: https://github.com/asottile/reorder_python_imports
18
- rev: v2.3.5
16
+ - repo: https://github.com/pycqa/isort
17
+ rev: 5.12.0
19
18
  hooks:
20
- - id: reorder-python-imports
19
+ - id: isort
20
+ name: isort (python)
21
21
  - repo: https://github.com/pycqa/pydocstyle
22
22
  rev: 6.1.1 # pick a git hash / tag to point to
23
23
  hooks:
@@ -1,3 +1,31 @@
1
+ v2.2.1 (2025-08-30)
2
+ ===================
3
+
4
+ Misc
5
+ ----
6
+
7
+ - Add code coverage badge to README.rst. (`#21 <https://bitbucket.org/dkistdc/dkist-processing-math/pull-requests/21>`__)
8
+ - Removing usage of the deprecated `pkg_resources`. (`#22 <https://bitbucket.org/dkistdc/dkist-processing-math/pull-requests/22>`__)
9
+ - Update pre-commit hook versions and replace python-reorder-imports with isort. (`#23 <https://bitbucket.org/dkistdc/dkist-processing-math/pull-requests/23>`__)
10
+
11
+
12
+ v2.2.0 (2025-02-24)
13
+ ===================
14
+
15
+ Features
16
+ --------
17
+
18
+ - Add `stddev_numpy_arrays` function for computing the per-pixel standard deviation of an iterable of arrays.
19
+ If a `generator` is provided this function is very memory-light, even for huge stacks of arrays. (`#20 <https://bitbucket.org/dkistdc/dkist-processing-math/pull-requests/20>`__)
20
+
21
+
22
+ Misc
23
+ ----
24
+
25
+ - Update bitbucket pipelines to use common scripts for checking for changelog snippets and verifying doc builds. (`#18 <https://bitbucket.org/dkistdc/dkist-processing-math/pull-requests/18>`__)
26
+ - Update Bitbucket pipelines to use execute script for standard steps. (`#19 <https://bitbucket.org/dkistdc/dkist-processing-math/pull-requests/19>`__)
27
+
28
+
1
29
  v2.1.2 (2024-12-20)
2
30
  ===================
3
31
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: dkist-processing-math
3
- Version: 2.2.0rc1
3
+ Version: 2.2.1
4
4
  Summary: Common math functionality used in the DKIST calibrations suite
5
5
  Author-email: NSO / AURA <dkistdc@nso.edu>
6
6
  License: BSD-3-Clause
@@ -36,6 +36,8 @@ Requires-Dist: dkist-sphinx-theme; extra == "docs"
36
36
  dkist-processing-math
37
37
  =====================
38
38
 
39
+ |codecov|
40
+
39
41
  dkist-processing-math contains the math functions used throughout the DKIST data processing software stack.
40
42
 
41
43
 
@@ -105,3 +107,6 @@ then the Bitbucket pipeline will fail. To be able to use the same tag you must d
105
107
  # Re-tag with the same version
106
108
  git tag vWHATEVER.THE.VERSION
107
109
  git push --tags origin main
110
+
111
+ .. |codecov| image:: https://codecov.io/bb/dkistdc/dkist-processing-math/graph/badge.svg?token=N0SF93JM6R
112
+ :target: https://codecov.io/bb/dkistdc/dkist-processing-math
@@ -1,6 +1,8 @@
1
1
  dkist-processing-math
2
2
  =====================
3
3
 
4
+ |codecov|
5
+
4
6
  dkist-processing-math contains the math functions used throughout the DKIST data processing software stack.
5
7
 
6
8
 
@@ -70,3 +72,6 @@ then the Bitbucket pipeline will fail. To be able to use the same tag you must d
70
72
  # Re-tag with the same version
71
73
  git tag vWHATEVER.THE.VERSION
72
74
  git push --tags origin main
75
+
76
+ .. |codecov| image:: https://codecov.io/bb/dkistdc/dkist-processing-math/graph/badge.svg?token=N0SF93JM6R
77
+ :target: https://codecov.io/bb/dkistdc/dkist-processing-math
@@ -11,37 +11,44 @@ definitions:
11
11
  - chmod 755 ci_scripts/latest/execute_script.sh
12
12
  artifacts:
13
13
  - ci_scripts/latest/execute_script.sh
14
+
14
15
  - step: &lint
15
16
  caches:
16
17
  - pip
17
18
  name: Lint
18
19
  script:
19
20
  - ./ci_scripts/latest/execute_script.sh lint_python.sh
21
+
20
22
  - step: &changelog
21
23
  caches:
22
24
  - pip
23
25
  name: Changelog
24
26
  script:
25
27
  - ./ci_scripts/latest/execute_script.sh check_changelog.sh
28
+
26
29
  - step: &scan
27
30
  caches:
28
31
  - pip
29
32
  name: Scan
30
33
  script:
31
34
  - ./ci_scripts/latest/execute_script.sh scan_python.sh
35
+
32
36
  - step: &test
33
37
  caches:
34
38
  - pip
35
39
  name: Test
36
40
  script:
37
41
  - pip install .[test]
38
- - pytest --cov -m "not development" dkist_processing_math
42
+ - pytest --cov -m "not development" dkist_processing_math --cov-report=xml --cov-report=term-missing
43
+ - ./ci_scripts/latest/execute_script.sh upload_coverage.sh
44
+
39
45
  - step: &docs
40
46
  name: Build Docs
41
47
  caches:
42
48
  - pip
43
49
  script:
44
50
  - ./ci_scripts/latest/execute_script.sh test_sphinx.sh
51
+
45
52
  - step: &push
46
53
  caches:
47
54
  - pip
@@ -0,0 +1,10 @@
1
+ """init."""
2
+
3
+ from importlib.metadata import PackageNotFoundError
4
+ from importlib.metadata import version
5
+
6
+ try:
7
+ __version__ = version(distribution_name=__name__)
8
+ except PackageNotFoundError:
9
+ # package is not installed
10
+ __version__ = "unknown"
@@ -1,4 +1,5 @@
1
1
  """Arithmetic."""
2
+
2
3
  from typing import Generator
3
4
  from typing import Iterable
4
5
  from typing import Union
@@ -1,4 +1,5 @@
1
1
  """Feature finding."""
2
+
2
3
  from typing import Callable
3
4
  from typing import Tuple
4
5
 
@@ -1,4 +1,5 @@
1
1
  """Linear algebra functions."""
2
+
2
3
  import numpy as np
3
4
 
4
5
 
@@ -1,4 +1,5 @@
1
1
  """Statistics."""
2
+
2
3
  from typing import Iterable
3
4
  from typing import Union
4
5
 
@@ -65,7 +66,7 @@ def stddev_numpy_arrays(arrays: Iterable[np.ndarray]) -> np.ndarray:
65
66
  Parameters
66
67
  ----------
67
68
  arrays
68
- The arrays to be to compute the standard deviation of
69
+ The arrays to be to compute the standard deviation of. Must be an Iterator of at least two arrays.
69
70
 
70
71
  Returns
71
72
  -------
@@ -82,16 +83,16 @@ def stddev_numpy_arrays(arrays: Iterable[np.ndarray]) -> np.ndarray:
82
83
  for array in arrays:
83
84
  count += 1
84
85
  try:
85
- delta = array - running_mean
86
+ diff_from_prev_mean = array - running_mean
86
87
  except ValueError:
87
88
  raise ValueError(
88
89
  f"All arrays must be the same shape. "
89
90
  f"Shape of initial array = {running_mean.shape} "
90
91
  f"Shape of current array = {array.shape}"
91
92
  )
92
- running_mean += delta / count
93
- delta2 = array - running_mean
94
- running_M2 += delta * delta2
93
+ running_mean += diff_from_prev_mean / count
94
+ diff_from_current_mean = array - running_mean
95
+ running_M2 += diff_from_prev_mean * diff_from_current_mean
95
96
 
96
97
  match count:
97
98
  case 0:
@@ -1,4 +1,5 @@
1
1
  """init."""
2
+
2
3
  from .affine import affine_transform_arrays
3
4
  from .affine import rotate_arrays_about_point
4
5
  from .affine import rotation_matrix
@@ -1,4 +1,5 @@
1
1
  """Affine transforms."""
2
+
2
3
  from functools import partial
3
4
  from typing import Iterable
4
5
  from typing import Iterator
@@ -1,4 +1,5 @@
1
1
  """Functionality for binary images."""
2
+
2
3
  import numpy
3
4
  import numpy as np
4
5
  from skimage import filters as skif
@@ -1,4 +1,5 @@
1
1
  """Binning transforms."""
2
+
2
3
  from functools import partial
3
4
  from typing import Iterable
4
5
  from typing import Iterator
@@ -1,4 +1,5 @@
1
1
  """Hough transforms."""
2
+
2
3
  from typing import Tuple
3
4
 
4
5
  import numpy
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: dkist-processing-math
3
- Version: 2.2.0rc1
3
+ Version: 2.2.1
4
4
  Summary: Common math functionality used in the DKIST calibrations suite
5
5
  Author-email: NSO / AURA <dkistdc@nso.edu>
6
6
  License: BSD-3-Clause
@@ -36,6 +36,8 @@ Requires-Dist: dkist-sphinx-theme; extra == "docs"
36
36
  dkist-processing-math
37
37
  =====================
38
38
 
39
+ |codecov|
40
+
39
41
  dkist-processing-math contains the math functions used throughout the DKIST data processing software stack.
40
42
 
41
43
 
@@ -105,3 +107,6 @@ then the Bitbucket pipeline will fail. To be able to use the same tag you must d
105
107
  # Re-tag with the same version
106
108
  git tag vWHATEVER.THE.VERSION
107
109
  git push --tags origin main
110
+
111
+ .. |codecov| image:: https://codecov.io/bb/dkistdc/dkist-processing-math/graph/badge.svg?token=N0SF93JM6R
112
+ :target: https://codecov.io/bb/dkistdc/dkist-processing-math
@@ -7,9 +7,6 @@ README.rst
7
7
  bitbucket-pipelines.yml
8
8
  pyproject.toml
9
9
  changelog/.gitempty
10
- changelog/18.misc.rst
11
- changelog/19.misc.rst
12
- changelog/20.feature.rst
13
10
  dkist_processing_math/__init__.py
14
11
  dkist_processing_math/arithmetic.py
15
12
  dkist_processing_math/feature.py
@@ -1,4 +1,5 @@
1
1
  """Configuration file for the Sphinx documentation builder."""
2
+
2
3
  # -- stdlib imports ------------------------------------------------------------
3
4
  import importlib
4
5
  import sys
@@ -98,3 +98,12 @@ show_missing = true
98
98
  directory = "doc"
99
99
  name = "Documentation"
100
100
  showcontent = true
101
+
102
+ [tool.black]
103
+ line-length = 100
104
+
105
+ [tool.isort]
106
+ profile = "black"
107
+ force_single_line = true
108
+ combine_as_imports = false
109
+ line_length = 100
@@ -1 +0,0 @@
1
- Update bitbucket pipelines to use common scripts for checking for changelog snippets and verifying doc builds.
@@ -1 +0,0 @@
1
- Update Bitbucket pipelines to use execute script for standard steps.
@@ -1,2 +0,0 @@
1
- Add `stddev_numpy_arrays` function for computing the per-pixel standard deviation of an iterable of arrays.
2
- If a `generator` is provided this function is very memory-light, even for huge inputs.
@@ -1,9 +0,0 @@
1
- """init."""
2
- from pkg_resources import DistributionNotFound
3
- from pkg_resources import get_distribution
4
-
5
- try:
6
- __version__ = get_distribution(__name__).version
7
- except DistributionNotFound:
8
- # package is not installed
9
- __version__ = "unknown"