dkist-processing-test 1.43.0rc1__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 (53) hide show
  1. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/PKG-INFO +17 -17
  2. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/README.rst +0 -3
  3. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/bitbucket-pipelines.yml +1 -1
  4. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/__init__.py +1 -0
  5. dkist_processing_test-1.44.0/dkist_processing_test/tasks/exercise_gpu.py +48 -0
  6. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/exercise_multiprocessing.py +3 -0
  7. dkist_processing_test-1.44.0/dkist_processing_test/workflows/exercise_gpu.py +20 -0
  8. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test.egg-info/PKG-INFO +17 -17
  9. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test.egg-info/SOURCES.txt +2 -0
  10. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test.egg-info/requires.txt +17 -13
  11. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test.egg-info/scm_file_list.json +2 -0
  12. dkist_processing_test-1.44.0/dkist_processing_test.egg-info/scm_version.json +8 -0
  13. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/pyproject.toml +19 -15
  14. dkist_processing_test-1.43.0rc1/dkist_processing_test.egg-info/scm_version.json +0 -8
  15. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/.gitignore +0 -0
  16. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/.pre-commit-config.yaml +0 -0
  17. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/.rovodev/.review-agent.md +0 -0
  18. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/.snyk +0 -0
  19. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/__init__.py +0 -0
  20. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/config.py +0 -0
  21. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/models/__init__.py +0 -0
  22. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/models/constants.py +0 -0
  23. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/models/parameters.py +0 -0
  24. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/parsers/__init__.py +0 -0
  25. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/parsers/test_l0_fits_access.py +0 -0
  26. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/parsers/time.py +0 -0
  27. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/construct_dataset_extras.py +0 -0
  28. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/exercise_numba.py +0 -0
  29. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/fail.py +0 -0
  30. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/fake_science.py +0 -0
  31. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/high_memory.py +0 -0
  32. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/manual.py +0 -0
  33. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/movie.py +0 -0
  34. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/noop.py +0 -0
  35. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/parse.py +0 -0
  36. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/quality.py +0 -0
  37. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/tasks/write_l1.py +0 -0
  38. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/tests/__init__.py +0 -0
  39. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/tests/conftest.py +0 -0
  40. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/tests/test_tasks.py +0 -0
  41. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/tests/test_workflows.py +0 -0
  42. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/workflows/__init__.py +0 -0
  43. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/workflows/common_tasks.py +0 -0
  44. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/workflows/end_to_end.py +0 -0
  45. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/workflows/exercise_multiprocessing.py +0 -0
  46. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/workflows/exercise_numba.py +0 -0
  47. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/workflows/fail.py +0 -0
  48. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/workflows/noop.py +0 -0
  49. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/workflows/resource_queue.py +0 -0
  50. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test/workflows/trial_end_to_end.py +0 -0
  51. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test.egg-info/dependency_links.txt +0 -0
  52. {dkist_processing_test-1.43.0rc1 → dkist_processing_test-1.44.0}/dkist_processing_test.egg-info/top_level.txt +0 -0
  53. {dkist_processing_test-1.43.0rc1 → 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.0rc1
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
@@ -12,10 +12,10 @@ Classifier: Programming Language :: Python :: 3
12
12
  Classifier: Programming Language :: Python :: 3.13
13
13
  Requires-Python: >=3.13
14
14
  Description-Content-Type: text/x-rst
15
- Requires-Dist: dkist-processing-common==14.3.5rc1
15
+ Requires-Dist: dkist-processing-common==14.3.5
16
16
  Requires-Dist: dkist-header-validator==5.4.0
17
17
  Requires-Dist: dkist-service-configuration==4.3.0
18
- Requires-Dist: dkist-fits-specifications==4.28.0
18
+ Requires-Dist: dkist-fits-specifications==4.28.1
19
19
  Requires-Dist: numba==0.61.2
20
20
  Requires-Dist: astropy==7.0.2
21
21
  Requires-Dist: numpy==2.2.5
@@ -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.67; extra == "frozen"
94
- Requires-Dist: botocore==1.43.67; 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"
@@ -113,13 +116,13 @@ Requires-Dist: decorator==5.3.1; extra == "frozen"
113
116
  Requires-Dist: defusedxml==0.7.1; extra == "frozen"
114
117
  Requires-Dist: dill==0.4.1; extra == "frozen"
115
118
  Requires-Dist: dkist-header-validator==5.4.0; extra == "frozen"
116
- Requires-Dist: dkist-processing-common==14.3.5rc1; extra == "frozen"
117
- Requires-Dist: dkist-processing-core==7.4.0rc1; extra == "frozen"
119
+ Requires-Dist: dkist-processing-common==14.3.5; extra == "frozen"
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.0rc1; 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
- Requires-Dist: dkist_fits_specifications==4.28.0; extra == "frozen"
125
+ Requires-Dist: dkist_fits_specifications==4.28.1; extra == "frozen"
123
126
  Requires-Dist: dnspython==2.8.0; extra == "frozen"
124
127
  Requires-Dist: email-validator==2.3.0; extra == "frozen"
125
128
  Requires-Dist: executing==2.2.1; extra == "frozen"
@@ -131,7 +134,7 @@ Requires-Dist: fonttools==4.63.0; extra == "frozen"
131
134
  Requires-Dist: fqdn==1.5.1; extra == "frozen"
132
135
  Requires-Dist: frozenlist==1.8.0; extra == "frozen"
133
136
  Requires-Dist: fsspec==2026.7.0; extra == "frozen"
134
- Requires-Dist: globus-sdk==4.8.1; extra == "frozen"
137
+ Requires-Dist: globus-sdk==4.9.0; extra == "frozen"
135
138
  Requires-Dist: googleapis-common-protos==1.75.1; extra == "frozen"
136
139
  Requires-Dist: gqlclient==2.0.0; extra == "frozen"
137
140
  Requires-Dist: greenback==1.3.0; extra == "frozen"
@@ -163,7 +166,7 @@ Requires-Dist: jupyter_client==8.9.1; extra == "frozen"
163
166
  Requires-Dist: jupyter_core==5.9.1; extra == "frozen"
164
167
  Requires-Dist: jupyter_server==2.20.0; extra == "frozen"
165
168
  Requires-Dist: jupyter_server_terminals==0.5.4; extra == "frozen"
166
- Requires-Dist: jupyterlab==4.6.2; extra == "frozen"
169
+ Requires-Dist: jupyterlab==4.6.3; extra == "frozen"
167
170
  Requires-Dist: jupyterlab_pygments==0.3.0; extra == "frozen"
168
171
  Requires-Dist: jupyterlab_server==2.28.0; extra == "frozen"
169
172
  Requires-Dist: kiwisolver==1.5.0; extra == "frozen"
@@ -191,7 +194,7 @@ Requires-Dist: nbclient==0.11.0; extra == "frozen"
191
194
  Requires-Dist: nbconvert==7.17.1; extra == "frozen"
192
195
  Requires-Dist: nbformat==5.11.0; extra == "frozen"
193
196
  Requires-Dist: nest-asyncio2==1.7.2; extra == "frozen"
194
- Requires-Dist: notebook==7.6.1; extra == "frozen"
197
+ Requires-Dist: notebook==7.6.2; extra == "frozen"
195
198
  Requires-Dist: notebook_shim==0.2.4; extra == "frozen"
196
199
  Requires-Dist: numba==0.61.2; extra == "frozen"
197
200
  Requires-Dist: numpy==2.2.5; extra == "frozen"
@@ -233,7 +236,7 @@ Requires-Dist: pexpect==4.9.0; extra == "frozen"
233
236
  Requires-Dist: pika==1.4.4; extra == "frozen"
234
237
  Requires-Dist: pillow==11.3.0; extra == "frozen"
235
238
  Requires-Dist: pip==26.2.1; extra == "frozen"
236
- Requires-Dist: platformdirs==4.11.1; extra == "frozen"
239
+ Requires-Dist: platformdirs==4.11.2; extra == "frozen"
237
240
  Requires-Dist: pluggy==1.6.0; extra == "frozen"
238
241
  Requires-Dist: pooch==1.9.0; extra == "frozen"
239
242
  Requires-Dist: proglog==0.1.12; extra == "frozen"
@@ -444,9 +447,6 @@ Environment Variables
444
447
  - annotation=int required=False default=16 description='Number of databases in the scratch inventory (redis).'
445
448
  * - DOCS_BASE_URL
446
449
  - annotation=str required=False default='my_test_url' description='Base URL for the documentation site.'
447
- * - CPU_COUNT
448
- - annotation=int required=False default=1 description='Number of CPUs available i.e. The maximum number of cores available for simultaneous execution.'
449
-
450
450
 
451
451
  Development
452
452
  -----------
@@ -116,9 +116,6 @@ Environment Variables
116
116
  - annotation=int required=False default=16 description='Number of databases in the scratch inventory (redis).'
117
117
  * - DOCS_BASE_URL
118
118
  - annotation=str required=False default='my_test_url' description='Base URL for the documentation site.'
119
- * - CPU_COUNT
120
- - annotation=int required=False default=1 description='Number of CPUs available i.e. The maximum number of cores available for simultaneous execution.'
121
-
122
119
 
123
120
  Development
124
121
  -----------
@@ -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
+ )
@@ -39,6 +39,9 @@ class ExerciseMultiprocessing(TaskBase):
39
39
  def run(self) -> None:
40
40
  worker_count = dkist_processing_test_configurations.cpu_count
41
41
 
42
+ if worker_count <= 1:
43
+ raise RuntimeError(f"Insufficient CPU count for multiprocessing test. {worker_count=}")
44
+
42
45
  with ProcessPoolExecutor(max_workers=worker_count) as executor:
43
46
  workload_results = list(executor.map(_cpu_bound_workload, range(worker_count)))
44
47
 
@@ -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.0rc1
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
@@ -12,10 +12,10 @@ Classifier: Programming Language :: Python :: 3
12
12
  Classifier: Programming Language :: Python :: 3.13
13
13
  Requires-Python: >=3.13
14
14
  Description-Content-Type: text/x-rst
15
- Requires-Dist: dkist-processing-common==14.3.5rc1
15
+ Requires-Dist: dkist-processing-common==14.3.5
16
16
  Requires-Dist: dkist-header-validator==5.4.0
17
17
  Requires-Dist: dkist-service-configuration==4.3.0
18
- Requires-Dist: dkist-fits-specifications==4.28.0
18
+ Requires-Dist: dkist-fits-specifications==4.28.1
19
19
  Requires-Dist: numba==0.61.2
20
20
  Requires-Dist: astropy==7.0.2
21
21
  Requires-Dist: numpy==2.2.5
@@ -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.67; extra == "frozen"
94
- Requires-Dist: botocore==1.43.67; 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"
@@ -113,13 +116,13 @@ Requires-Dist: decorator==5.3.1; extra == "frozen"
113
116
  Requires-Dist: defusedxml==0.7.1; extra == "frozen"
114
117
  Requires-Dist: dill==0.4.1; extra == "frozen"
115
118
  Requires-Dist: dkist-header-validator==5.4.0; extra == "frozen"
116
- Requires-Dist: dkist-processing-common==14.3.5rc1; extra == "frozen"
117
- Requires-Dist: dkist-processing-core==7.4.0rc1; extra == "frozen"
119
+ Requires-Dist: dkist-processing-common==14.3.5; extra == "frozen"
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.0rc1; 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
- Requires-Dist: dkist_fits_specifications==4.28.0; extra == "frozen"
125
+ Requires-Dist: dkist_fits_specifications==4.28.1; extra == "frozen"
123
126
  Requires-Dist: dnspython==2.8.0; extra == "frozen"
124
127
  Requires-Dist: email-validator==2.3.0; extra == "frozen"
125
128
  Requires-Dist: executing==2.2.1; extra == "frozen"
@@ -131,7 +134,7 @@ Requires-Dist: fonttools==4.63.0; extra == "frozen"
131
134
  Requires-Dist: fqdn==1.5.1; extra == "frozen"
132
135
  Requires-Dist: frozenlist==1.8.0; extra == "frozen"
133
136
  Requires-Dist: fsspec==2026.7.0; extra == "frozen"
134
- Requires-Dist: globus-sdk==4.8.1; extra == "frozen"
137
+ Requires-Dist: globus-sdk==4.9.0; extra == "frozen"
135
138
  Requires-Dist: googleapis-common-protos==1.75.1; extra == "frozen"
136
139
  Requires-Dist: gqlclient==2.0.0; extra == "frozen"
137
140
  Requires-Dist: greenback==1.3.0; extra == "frozen"
@@ -163,7 +166,7 @@ Requires-Dist: jupyter_client==8.9.1; extra == "frozen"
163
166
  Requires-Dist: jupyter_core==5.9.1; extra == "frozen"
164
167
  Requires-Dist: jupyter_server==2.20.0; extra == "frozen"
165
168
  Requires-Dist: jupyter_server_terminals==0.5.4; extra == "frozen"
166
- Requires-Dist: jupyterlab==4.6.2; extra == "frozen"
169
+ Requires-Dist: jupyterlab==4.6.3; extra == "frozen"
167
170
  Requires-Dist: jupyterlab_pygments==0.3.0; extra == "frozen"
168
171
  Requires-Dist: jupyterlab_server==2.28.0; extra == "frozen"
169
172
  Requires-Dist: kiwisolver==1.5.0; extra == "frozen"
@@ -191,7 +194,7 @@ Requires-Dist: nbclient==0.11.0; extra == "frozen"
191
194
  Requires-Dist: nbconvert==7.17.1; extra == "frozen"
192
195
  Requires-Dist: nbformat==5.11.0; extra == "frozen"
193
196
  Requires-Dist: nest-asyncio2==1.7.2; extra == "frozen"
194
- Requires-Dist: notebook==7.6.1; extra == "frozen"
197
+ Requires-Dist: notebook==7.6.2; extra == "frozen"
195
198
  Requires-Dist: notebook_shim==0.2.4; extra == "frozen"
196
199
  Requires-Dist: numba==0.61.2; extra == "frozen"
197
200
  Requires-Dist: numpy==2.2.5; extra == "frozen"
@@ -233,7 +236,7 @@ Requires-Dist: pexpect==4.9.0; extra == "frozen"
233
236
  Requires-Dist: pika==1.4.4; extra == "frozen"
234
237
  Requires-Dist: pillow==11.3.0; extra == "frozen"
235
238
  Requires-Dist: pip==26.2.1; extra == "frozen"
236
- Requires-Dist: platformdirs==4.11.1; extra == "frozen"
239
+ Requires-Dist: platformdirs==4.11.2; extra == "frozen"
237
240
  Requires-Dist: pluggy==1.6.0; extra == "frozen"
238
241
  Requires-Dist: pooch==1.9.0; extra == "frozen"
239
242
  Requires-Dist: proglog==0.1.12; extra == "frozen"
@@ -444,9 +447,6 @@ Environment Variables
444
447
  - annotation=int required=False default=16 description='Number of databases in the scratch inventory (redis).'
445
448
  * - DOCS_BASE_URL
446
449
  - annotation=str required=False default='my_test_url' description='Base URL for the documentation site.'
447
- * - CPU_COUNT
448
- - annotation=int required=False default=1 description='Number of CPUs available i.e. The maximum number of cores available for simultaneous execution.'
449
-
450
450
 
451
451
  Development
452
452
  -----------
@@ -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
@@ -1,7 +1,7 @@
1
- dkist-processing-common==14.3.5rc1
1
+ dkist-processing-common==14.3.5
2
2
  dkist-header-validator==5.4.0
3
3
  dkist-service-configuration==4.3.0
4
- dkist-fits-specifications==4.28.0
4
+ dkist-fits-specifications==4.28.1
5
5
  numba==0.61.2
6
6
  astropy==7.0.2
7
7
  numpy==2.2.5
@@ -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.67
68
- botocore==1.43.67
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
@@ -87,13 +87,13 @@ decorator==5.3.1
87
87
  defusedxml==0.7.1
88
88
  dill==0.4.1
89
89
  dkist-header-validator==5.4.0
90
- dkist-processing-common==14.3.5rc1
91
- dkist-processing-core==7.4.0rc1
90
+ dkist-processing-common==14.3.5
91
+ dkist-processing-core==7.4.0
92
92
  dkist-processing-pac==3.1.2
93
- dkist-processing-test==1.43.0rc1
93
+ dkist-processing-test==1.44.0
94
94
  dkist-service-configuration==4.3.0
95
95
  dkist-spectral-lines==3.0.1
96
- dkist_fits_specifications==4.28.0
96
+ dkist_fits_specifications==4.28.1
97
97
  dnspython==2.8.0
98
98
  email-validator==2.3.0
99
99
  executing==2.2.1
@@ -105,7 +105,7 @@ fonttools==4.63.0
105
105
  fqdn==1.5.1
106
106
  frozenlist==1.8.0
107
107
  fsspec==2026.7.0
108
- globus-sdk==4.8.1
108
+ globus-sdk==4.9.0
109
109
  googleapis-common-protos==1.75.1
110
110
  gqlclient==2.0.0
111
111
  greenback==1.3.0
@@ -137,7 +137,7 @@ jupyter_client==8.9.1
137
137
  jupyter_core==5.9.1
138
138
  jupyter_server==2.20.0
139
139
  jupyter_server_terminals==0.5.4
140
- jupyterlab==4.6.2
140
+ jupyterlab==4.6.3
141
141
  jupyterlab_pygments==0.3.0
142
142
  jupyterlab_server==2.28.0
143
143
  kiwisolver==1.5.0
@@ -165,7 +165,7 @@ nbclient==0.11.0
165
165
  nbconvert==7.17.1
166
166
  nbformat==5.11.0
167
167
  nest-asyncio2==1.7.2
168
- notebook==7.6.1
168
+ notebook==7.6.2
169
169
  notebook_shim==0.2.4
170
170
  numba==0.61.2
171
171
  numpy==2.2.5
@@ -207,7 +207,7 @@ pexpect==4.9.0
207
207
  pika==1.4.4
208
208
  pillow==11.3.0
209
209
  pip==26.2.1
210
- platformdirs==4.11.1
210
+ platformdirs==4.11.2
211
211
  pluggy==1.6.0
212
212
  pooch==1.9.0
213
213
  proglog==0.1.12
@@ -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",
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "1.44.0",
3
+ "distance": 0,
4
+ "node": "g5e9b02d28031d0350530c899f93d277e1aff6d09",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-08-11"
8
+ }
@@ -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.0rc1"
13
- date = 2026-08-10T09:40:10.051208
12
+ version = "1.44.0"
13
+ date = 2026-08-11T14:26:24.597044
14
14
 
15
15
  [project]
16
16
  dynamic = ["version"]
@@ -26,10 +26,10 @@ classifiers = [
26
26
  "Programming Language :: Python :: 3.13",
27
27
  ]
28
28
  dependencies = [
29
- "dkist-processing-common == 14.3.5rc1",
29
+ "dkist-processing-common == 14.3.5",
30
30
  "dkist-header-validator == 5.4.0",
31
31
  "dkist-service-configuration == 4.3.0",
32
- "dkist-fits-specifications == 4.28.0",
32
+ "dkist-fits-specifications == 4.28.1",
33
33
  "numba == 0.61.2",
34
34
  "astropy == 7.0.2",
35
35
  "numpy == 2.2.5",
@@ -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.67",
120
- "botocore == 1.43.67",
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",
@@ -139,13 +143,13 @@ frozen = [
139
143
  "defusedxml == 0.7.1",
140
144
  "dill == 0.4.1",
141
145
  "dkist-header-validator == 5.4.0",
142
- "dkist-processing-common == 14.3.5rc1",
143
- "dkist-processing-core == 7.4.0rc1",
146
+ "dkist-processing-common == 14.3.5",
147
+ "dkist-processing-core == 7.4.0",
144
148
  "dkist-processing-pac == 3.1.2",
145
- "dkist-processing-test == 1.43.0rc1",
149
+ "dkist-processing-test == 1.44.0",
146
150
  "dkist-service-configuration == 4.3.0",
147
151
  "dkist-spectral-lines == 3.0.1",
148
- "dkist_fits_specifications == 4.28.0",
152
+ "dkist_fits_specifications == 4.28.1",
149
153
  "dnspython == 2.8.0",
150
154
  "email-validator == 2.3.0",
151
155
  "executing == 2.2.1",
@@ -157,7 +161,7 @@ frozen = [
157
161
  "fqdn == 1.5.1",
158
162
  "frozenlist == 1.8.0",
159
163
  "fsspec == 2026.7.0",
160
- "globus-sdk == 4.8.1",
164
+ "globus-sdk == 4.9.0",
161
165
  "googleapis-common-protos == 1.75.1",
162
166
  "gqlclient == 2.0.0",
163
167
  "greenback == 1.3.0",
@@ -189,7 +193,7 @@ frozen = [
189
193
  "jupyter_core == 5.9.1",
190
194
  "jupyter_server == 2.20.0",
191
195
  "jupyter_server_terminals == 0.5.4",
192
- "jupyterlab == 4.6.2",
196
+ "jupyterlab == 4.6.3",
193
197
  "jupyterlab_pygments == 0.3.0",
194
198
  "jupyterlab_server == 2.28.0",
195
199
  "kiwisolver == 1.5.0",
@@ -217,7 +221,7 @@ frozen = [
217
221
  "nbconvert == 7.17.1",
218
222
  "nbformat == 5.11.0",
219
223
  "nest-asyncio2 == 1.7.2",
220
- "notebook == 7.6.1",
224
+ "notebook == 7.6.2",
221
225
  "notebook_shim == 0.2.4",
222
226
  "numba == 0.61.2",
223
227
  "numpy == 2.2.5",
@@ -259,7 +263,7 @@ frozen = [
259
263
  "pika == 1.4.4",
260
264
  "pillow == 11.3.0",
261
265
  "pip == 26.2.1",
262
- "platformdirs == 4.11.1",
266
+ "platformdirs == 4.11.2",
263
267
  "pluggy == 1.6.0",
264
268
  "pooch == 1.9.0",
265
269
  "proglog == 0.1.12",
@@ -1,8 +0,0 @@
1
- {
2
- "tag": "1.43.0rc1",
3
- "distance": 0,
4
- "node": "g7e926c9e148a10b0492ddb256209c0e310a392cc",
5
- "dirty": false,
6
- "branch": "HEAD",
7
- "node_date": "2026-08-10"
8
- }