dkist-processing-test 1.43.1__tar.gz → 1.44.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.
Files changed (52) hide show
  1. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/PKG-INFO +8 -5
  2. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/bitbucket-pipelines.yml +1 -1
  3. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/__init__.py +1 -0
  4. dkist_processing_test-1.44.0/dkist_processing_test/tasks/exercise_gpu.py +48 -0
  5. dkist_processing_test-1.44.0/dkist_processing_test/workflows/exercise_gpu.py +20 -0
  6. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test.egg-info/PKG-INFO +8 -5
  7. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test.egg-info/SOURCES.txt +2 -0
  8. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test.egg-info/requires.txt +8 -4
  9. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test.egg-info/scm_file_list.json +2 -0
  10. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test.egg-info/scm_version.json +2 -2
  11. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/pyproject.toml +10 -6
  12. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/.gitignore +0 -0
  13. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/.pre-commit-config.yaml +0 -0
  14. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/.rovodev/.review-agent.md +0 -0
  15. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/.snyk +0 -0
  16. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/README.rst +0 -0
  17. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/__init__.py +0 -0
  18. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/config.py +0 -0
  19. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/models/__init__.py +0 -0
  20. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/models/constants.py +0 -0
  21. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/models/parameters.py +0 -0
  22. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/parsers/__init__.py +0 -0
  23. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/parsers/test_l0_fits_access.py +0 -0
  24. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/parsers/time.py +0 -0
  25. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/construct_dataset_extras.py +0 -0
  26. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/exercise_multiprocessing.py +0 -0
  27. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/exercise_numba.py +0 -0
  28. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/fail.py +0 -0
  29. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/fake_science.py +0 -0
  30. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/high_memory.py +0 -0
  31. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/manual.py +0 -0
  32. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/movie.py +0 -0
  33. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/noop.py +0 -0
  34. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/parse.py +0 -0
  35. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/quality.py +0 -0
  36. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/write_l1.py +0 -0
  37. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/tests/__init__.py +0 -0
  38. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/tests/conftest.py +0 -0
  39. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/tests/test_tasks.py +0 -0
  40. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/tests/test_workflows.py +0 -0
  41. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/workflows/__init__.py +0 -0
  42. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/workflows/common_tasks.py +0 -0
  43. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/workflows/end_to_end.py +0 -0
  44. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/workflows/exercise_multiprocessing.py +0 -0
  45. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/workflows/exercise_numba.py +0 -0
  46. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/workflows/fail.py +0 -0
  47. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/workflows/noop.py +0 -0
  48. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/workflows/resource_queue.py +0 -0
  49. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test/workflows/trial_end_to_end.py +0 -0
  50. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test.egg-info/dependency_links.txt +0 -0
  51. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/dkist_processing_test.egg-info/top_level.txt +0 -0
  52. {dkist_processing_test-1.43.1 → dkist_processing_test-1.44.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dkist-processing-test
3
- Version: 1.43.1
3
+ Version: 1.44.0
4
4
  Summary: Example instrument code used by the DKIST science data processing pipelines to test processing infrastructure
5
5
  Author-email: NSO / AURA <dkistdc@nso.edu>
6
6
  License: BSD-3-Clause
@@ -29,6 +29,7 @@ Requires-Dist: dkist-data-simulator>=5.2.6; extra == "test"
29
29
  Requires-Dist: dkist-processing-test[inventory]; extra == "test"
30
30
  Requires-Dist: dkist-processing-test[asdf]; extra == "test"
31
31
  Requires-Dist: dkist-processing-test[quality]; extra == "test"
32
+ Requires-Dist: dkist-processing-test[gpu]; extra == "test"
32
33
  Provides-Extra: inventory
33
34
  Requires-Dist: dkist-processing-common[inventory]; extra == "inventory"
34
35
  Requires-Dist: dkist-inventory==1.11.9; extra == "inventory"
@@ -37,6 +38,8 @@ Requires-Dist: dkist-processing-common[asdf]; extra == "asdf"
37
38
  Requires-Dist: dkist-inventory[asdf]==1.11.9; extra == "asdf"
38
39
  Provides-Extra: quality
39
40
  Requires-Dist: dkist-quality==2.0.1; extra == "quality"
41
+ Provides-Extra: gpu
42
+ Requires-Dist: cupy-cuda12x[ctk]==14.1.1; extra == "gpu"
40
43
  Provides-Extra: frozen
41
44
  Requires-Dist: Deprecated==1.3.1; extra == "frozen"
42
45
  Requires-Dist: ImageIO==2.37.4; extra == "frozen"
@@ -47,7 +50,7 @@ Requires-Dist: PyJWT==2.13.0; extra == "frozen"
47
50
  Requires-Dist: PyYAML==6.0.3; extra == "frozen"
48
51
  Requires-Dist: PyYAML-ft==8.0.0; extra == "frozen"
49
52
  Requires-Dist: Pygments==2.20.0; extra == "frozen"
50
- Requires-Dist: SQLAlchemy==2.0.51; extra == "frozen"
53
+ Requires-Dist: SQLAlchemy==2.0.52; extra == "frozen"
51
54
  Requires-Dist: Send2Trash==2.1.0; extra == "frozen"
52
55
  Requires-Dist: a2wsgi==1.10.10; extra == "frozen"
53
56
  Requires-Dist: aioftp==0.28.0; extra == "frozen"
@@ -90,8 +93,8 @@ Requires-Dist: babel==2.18.0; extra == "frozen"
90
93
  Requires-Dist: beautifulsoup4==4.15.0; extra == "frozen"
91
94
  Requires-Dist: billiard==4.2.4; extra == "frozen"
92
95
  Requires-Dist: bleach==6.4.0; extra == "frozen"
93
- Requires-Dist: boto3==1.43.68; extra == "frozen"
94
- Requires-Dist: botocore==1.43.68; extra == "frozen"
96
+ Requires-Dist: boto3==1.43.69; extra == "frozen"
97
+ Requires-Dist: botocore==1.43.69; extra == "frozen"
95
98
  Requires-Dist: cadwyn==7.2.0; extra == "frozen"
96
99
  Requires-Dist: celery==5.6.3; extra == "frozen"
97
100
  Requires-Dist: certifi==2026.7.22; extra == "frozen"
@@ -116,7 +119,7 @@ Requires-Dist: dkist-header-validator==5.4.0; extra == "frozen"
116
119
  Requires-Dist: dkist-processing-common==14.3.5; extra == "frozen"
117
120
  Requires-Dist: dkist-processing-core==7.4.0; extra == "frozen"
118
121
  Requires-Dist: dkist-processing-pac==3.1.2; extra == "frozen"
119
- Requires-Dist: dkist-processing-test==1.43.1; extra == "frozen"
122
+ Requires-Dist: dkist-processing-test==1.44.0; extra == "frozen"
120
123
  Requires-Dist: dkist-service-configuration==4.3.0; extra == "frozen"
121
124
  Requires-Dist: dkist-spectral-lines==3.0.1; extra == "frozen"
122
125
  Requires-Dist: dkist_fits_specifications==4.28.1; extra == "frozen"
@@ -58,7 +58,7 @@ definitions:
58
58
  name: Check frozen install with extras
59
59
  script:
60
60
  - pip install -U pip
61
- - pip install .[asdf,quality,inventory,frozen]
61
+ - pip install .[asdf,quality,inventory,frozen,gpu]
62
62
 
63
63
  - step: &push_workflow
64
64
  caches:
@@ -1,3 +1,4 @@
1
+ from dkist_processing_test.tasks.exercise_gpu import *
1
2
  from dkist_processing_test.tasks.exercise_multiprocessing import *
2
3
  from dkist_processing_test.tasks.exercise_numba import *
3
4
  from dkist_processing_test.tasks.fail import *
@@ -0,0 +1,48 @@
1
+ """Exercise CuPy on an NVIDIA GPU in the workflow execution environment."""
2
+
3
+ import numpy as np
4
+ from dkist_processing_core import TaskBase
5
+ from dkist_service_configuration.logging import logger
6
+
7
+ __all__ = ["ExerciseGpu"]
8
+
9
+ ELEMENT_COUNT = 1_000_000
10
+ SCALE_FACTOR = np.float32(3.0)
11
+ OFFSET = np.float32(7.0)
12
+
13
+
14
+ class ExerciseGpu(TaskBase):
15
+ """Execute CuPy operations on a GPU, then verify their result on the host."""
16
+
17
+ def run(self) -> None:
18
+ with self.telemetry_span("GPU Setup"):
19
+ # Import lazily so non-GPU tasks can be discovered without initializing CUDA.
20
+ import cupy as cp
21
+
22
+ device_count = cp.cuda.runtime.getDeviceCount()
23
+ if device_count < 1:
24
+ raise RuntimeError("CuPy did not find an available GPU.")
25
+
26
+ host_input = np.arange(ELEMENT_COUNT, dtype=np.float32)
27
+ device = cp.cuda.Device(0)
28
+ with self.telemetry_span(f"Using GPU"):
29
+ with device:
30
+ device_input = cp.asarray(host_input)
31
+ device_result = cp.add(cp.multiply(device_input, SCALE_FACTOR), OFFSET)
32
+ device_checksum = cp.sum(device_result)
33
+
34
+ cp.cuda.get_current_stream().synchronize()
35
+ host_result = cp.asnumpy(device_result)
36
+ checksum = float(device_checksum.get())
37
+ compute_capability = device.compute_capability
38
+
39
+ with self.telemetry_span("Using CPU"):
40
+ expected_result = host_input * SCALE_FACTOR + OFFSET
41
+ with self.telemetry_span("Verifying results"):
42
+ if not np.array_equal(host_result, expected_result):
43
+ raise RuntimeError("CuPy returned an unexpected result.")
44
+
45
+ logger.info(
46
+ f"ExerciseGpu completed CuPy operations on GPU {device.id} "
47
+ f"(compute capability {compute_capability}) with checksum {checksum}."
48
+ )
@@ -0,0 +1,20 @@
1
+ """Workflow that exercises an NVIDIA GPU resource queue."""
2
+
3
+ from dkist_processing_core import ResourceQueue
4
+ from dkist_processing_core import Workflow
5
+
6
+ from dkist_processing_test.tasks import ExerciseGpu
7
+
8
+ exercise_gpu = Workflow(
9
+ input_data="input",
10
+ output_data="output",
11
+ category="test",
12
+ detail="exercise_gpu",
13
+ workflow_package=__package__,
14
+ )
15
+ exercise_gpu.add_node(
16
+ task=ExerciseGpu,
17
+ resource_queue=ResourceQueue.GPU,
18
+ pip_extras=["gpu"],
19
+ upstreams=None,
20
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dkist-processing-test
3
- Version: 1.43.1
3
+ Version: 1.44.0
4
4
  Summary: Example instrument code used by the DKIST science data processing pipelines to test processing infrastructure
5
5
  Author-email: NSO / AURA <dkistdc@nso.edu>
6
6
  License: BSD-3-Clause
@@ -29,6 +29,7 @@ Requires-Dist: dkist-data-simulator>=5.2.6; extra == "test"
29
29
  Requires-Dist: dkist-processing-test[inventory]; extra == "test"
30
30
  Requires-Dist: dkist-processing-test[asdf]; extra == "test"
31
31
  Requires-Dist: dkist-processing-test[quality]; extra == "test"
32
+ Requires-Dist: dkist-processing-test[gpu]; extra == "test"
32
33
  Provides-Extra: inventory
33
34
  Requires-Dist: dkist-processing-common[inventory]; extra == "inventory"
34
35
  Requires-Dist: dkist-inventory==1.11.9; extra == "inventory"
@@ -37,6 +38,8 @@ Requires-Dist: dkist-processing-common[asdf]; extra == "asdf"
37
38
  Requires-Dist: dkist-inventory[asdf]==1.11.9; extra == "asdf"
38
39
  Provides-Extra: quality
39
40
  Requires-Dist: dkist-quality==2.0.1; extra == "quality"
41
+ Provides-Extra: gpu
42
+ Requires-Dist: cupy-cuda12x[ctk]==14.1.1; extra == "gpu"
40
43
  Provides-Extra: frozen
41
44
  Requires-Dist: Deprecated==1.3.1; extra == "frozen"
42
45
  Requires-Dist: ImageIO==2.37.4; extra == "frozen"
@@ -47,7 +50,7 @@ Requires-Dist: PyJWT==2.13.0; extra == "frozen"
47
50
  Requires-Dist: PyYAML==6.0.3; extra == "frozen"
48
51
  Requires-Dist: PyYAML-ft==8.0.0; extra == "frozen"
49
52
  Requires-Dist: Pygments==2.20.0; extra == "frozen"
50
- Requires-Dist: SQLAlchemy==2.0.51; extra == "frozen"
53
+ Requires-Dist: SQLAlchemy==2.0.52; extra == "frozen"
51
54
  Requires-Dist: Send2Trash==2.1.0; extra == "frozen"
52
55
  Requires-Dist: a2wsgi==1.10.10; extra == "frozen"
53
56
  Requires-Dist: aioftp==0.28.0; extra == "frozen"
@@ -90,8 +93,8 @@ Requires-Dist: babel==2.18.0; extra == "frozen"
90
93
  Requires-Dist: beautifulsoup4==4.15.0; extra == "frozen"
91
94
  Requires-Dist: billiard==4.2.4; extra == "frozen"
92
95
  Requires-Dist: bleach==6.4.0; extra == "frozen"
93
- Requires-Dist: boto3==1.43.68; extra == "frozen"
94
- Requires-Dist: botocore==1.43.68; extra == "frozen"
96
+ Requires-Dist: boto3==1.43.69; extra == "frozen"
97
+ Requires-Dist: botocore==1.43.69; extra == "frozen"
95
98
  Requires-Dist: cadwyn==7.2.0; extra == "frozen"
96
99
  Requires-Dist: celery==5.6.3; extra == "frozen"
97
100
  Requires-Dist: certifi==2026.7.22; extra == "frozen"
@@ -116,7 +119,7 @@ Requires-Dist: dkist-header-validator==5.4.0; extra == "frozen"
116
119
  Requires-Dist: dkist-processing-common==14.3.5; extra == "frozen"
117
120
  Requires-Dist: dkist-processing-core==7.4.0; extra == "frozen"
118
121
  Requires-Dist: dkist-processing-pac==3.1.2; extra == "frozen"
119
- Requires-Dist: dkist-processing-test==1.43.1; extra == "frozen"
122
+ Requires-Dist: dkist-processing-test==1.44.0; extra == "frozen"
120
123
  Requires-Dist: dkist-service-configuration==4.3.0; extra == "frozen"
121
124
  Requires-Dist: dkist-spectral-lines==3.0.1; extra == "frozen"
122
125
  Requires-Dist: dkist_fits_specifications==4.28.1; extra == "frozen"
@@ -22,6 +22,7 @@ dkist_processing_test/parsers/test_l0_fits_access.py
22
22
  dkist_processing_test/parsers/time.py
23
23
  dkist_processing_test/tasks/__init__.py
24
24
  dkist_processing_test/tasks/construct_dataset_extras.py
25
+ dkist_processing_test/tasks/exercise_gpu.py
25
26
  dkist_processing_test/tasks/exercise_multiprocessing.py
26
27
  dkist_processing_test/tasks/exercise_numba.py
27
28
  dkist_processing_test/tasks/fail.py
@@ -40,6 +41,7 @@ dkist_processing_test/tests/test_workflows.py
40
41
  dkist_processing_test/workflows/__init__.py
41
42
  dkist_processing_test/workflows/common_tasks.py
42
43
  dkist_processing_test/workflows/end_to_end.py
44
+ dkist_processing_test/workflows/exercise_gpu.py
43
45
  dkist_processing_test/workflows/exercise_multiprocessing.py
44
46
  dkist_processing_test/workflows/exercise_numba.py
45
47
  dkist_processing_test/workflows/fail.py
@@ -21,7 +21,7 @@ PyJWT==2.13.0
21
21
  PyYAML==6.0.3
22
22
  PyYAML-ft==8.0.0
23
23
  Pygments==2.20.0
24
- SQLAlchemy==2.0.51
24
+ SQLAlchemy==2.0.52
25
25
  Send2Trash==2.1.0
26
26
  a2wsgi==1.10.10
27
27
  aioftp==0.28.0
@@ -64,8 +64,8 @@ babel==2.18.0
64
64
  beautifulsoup4==4.15.0
65
65
  billiard==4.2.4
66
66
  bleach==6.4.0
67
- boto3==1.43.68
68
- botocore==1.43.68
67
+ boto3==1.43.69
68
+ botocore==1.43.69
69
69
  cadwyn==7.2.0
70
70
  celery==5.6.3
71
71
  certifi==2026.7.22
@@ -90,7 +90,7 @@ dkist-header-validator==5.4.0
90
90
  dkist-processing-common==14.3.5
91
91
  dkist-processing-core==7.4.0
92
92
  dkist-processing-pac==3.1.2
93
- dkist-processing-test==1.43.1
93
+ dkist-processing-test==1.44.0
94
94
  dkist-service-configuration==4.3.0
95
95
  dkist-spectral-lines==3.0.1
96
96
  dkist_fits_specifications==4.28.1
@@ -300,6 +300,9 @@ yamale==6.1.0
300
300
  yarl==1.24.5
301
301
  zipp==4.1.0
302
302
 
303
+ [gpu]
304
+ cupy-cuda12x[ctk]==14.1.1
305
+
303
306
  [inventory]
304
307
  dkist-processing-common[inventory]
305
308
  dkist-inventory==1.11.9
@@ -316,3 +319,4 @@ dkist-data-simulator>=5.2.6
316
319
  dkist-processing-test[inventory]
317
320
  dkist-processing-test[asdf]
318
321
  dkist-processing-test[quality]
322
+ dkist-processing-test[gpu]
@@ -16,6 +16,7 @@
16
16
  "dkist_processing_test/parsers/time.py",
17
17
  "dkist_processing_test/tasks/__init__.py",
18
18
  "dkist_processing_test/tasks/construct_dataset_extras.py",
19
+ "dkist_processing_test/tasks/exercise_gpu.py",
19
20
  "dkist_processing_test/tasks/exercise_multiprocessing.py",
20
21
  "dkist_processing_test/tasks/exercise_numba.py",
21
22
  "dkist_processing_test/tasks/fail.py",
@@ -34,6 +35,7 @@
34
35
  "dkist_processing_test/workflows/__init__.py",
35
36
  "dkist_processing_test/workflows/common_tasks.py",
36
37
  "dkist_processing_test/workflows/end_to_end.py",
38
+ "dkist_processing_test/workflows/exercise_gpu.py",
37
39
  "dkist_processing_test/workflows/exercise_multiprocessing.py",
38
40
  "dkist_processing_test/workflows/exercise_numba.py",
39
41
  "dkist_processing_test/workflows/fail.py",
@@ -1,7 +1,7 @@
1
1
  {
2
- "tag": "1.43.1",
2
+ "tag": "1.44.0",
3
3
  "distance": 0,
4
- "node": "g46daa463d60ab7447473210ada053a09b944b95d",
4
+ "node": "g5e9b02d28031d0350530c899f93d277e1aff6d09",
5
5
  "dirty": false,
6
6
  "branch": "HEAD",
7
7
  "node_date": "2026-08-11"
@@ -9,8 +9,8 @@ exclude = ["build*"]
9
9
 
10
10
  [tool.dkist-dev-tools]
11
11
  # Most recently frozen version by dkist-dev-tools
12
- version = "1.43.1"
13
- date = 2026-08-11T09:55:18.221318
12
+ version = "1.44.0"
13
+ date = 2026-08-11T14:26:24.597044
14
14
 
15
15
  [project]
16
16
  dynamic = ["version"]
@@ -51,6 +51,7 @@ test = [
51
51
  "dkist-processing-test[inventory]",
52
52
  "dkist-processing-test[asdf]",
53
53
  "dkist-processing-test[quality]",
54
+ "dkist-processing-test[gpu]",
54
55
  ]
55
56
  inventory = [
56
57
  "dkist-processing-common[inventory]",
@@ -63,6 +64,9 @@ asdf = [
63
64
  quality = [
64
65
  "dkist-quality == 2.0.1",
65
66
  ]
67
+ gpu = [
68
+ "cupy-cuda12x[ctk] == 14.1.1",
69
+ ]
66
70
  frozen = [
67
71
  "Deprecated == 1.3.1",
68
72
  "ImageIO == 2.37.4",
@@ -73,7 +77,7 @@ frozen = [
73
77
  "PyYAML == 6.0.3",
74
78
  "PyYAML-ft == 8.0.0",
75
79
  "Pygments == 2.20.0",
76
- "SQLAlchemy == 2.0.51",
80
+ "SQLAlchemy == 2.0.52",
77
81
  "Send2Trash == 2.1.0",
78
82
  "a2wsgi == 1.10.10",
79
83
  "aioftp == 0.28.0",
@@ -116,8 +120,8 @@ frozen = [
116
120
  "beautifulsoup4 == 4.15.0",
117
121
  "billiard == 4.2.4",
118
122
  "bleach == 6.4.0",
119
- "boto3 == 1.43.68",
120
- "botocore == 1.43.68",
123
+ "boto3 == 1.43.69",
124
+ "botocore == 1.43.69",
121
125
  "cadwyn == 7.2.0",
122
126
  "celery == 5.6.3",
123
127
  "certifi == 2026.7.22",
@@ -142,7 +146,7 @@ frozen = [
142
146
  "dkist-processing-common == 14.3.5",
143
147
  "dkist-processing-core == 7.4.0",
144
148
  "dkist-processing-pac == 3.1.2",
145
- "dkist-processing-test == 1.43.1",
149
+ "dkist-processing-test == 1.44.0",
146
150
  "dkist-service-configuration == 4.3.0",
147
151
  "dkist-spectral-lines == 3.0.1",
148
152
  "dkist_fits_specifications == 4.28.1",