dkist-processing-test 1.44.0rc2__tar.gz → 1.44.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.
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/PKG-INFO +21 -20
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/bitbucket-pipelines.yml +1 -1
- dkist_processing_test-1.44.1/dkist_processing_test/tasks/exercise_gpu.py +48 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test.egg-info/PKG-INFO +21 -20
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test.egg-info/requires.txt +20 -19
- dkist_processing_test-1.44.1/dkist_processing_test.egg-info/scm_version.json +8 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/pyproject.toml +22 -21
- dkist_processing_test-1.44.0rc2/dkist_processing_test/tasks/exercise_gpu.py +0 -44
- dkist_processing_test-1.44.0rc2/dkist_processing_test.egg-info/scm_version.json +0 -8
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/.gitignore +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/.pre-commit-config.yaml +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/.rovodev/.review-agent.md +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/.snyk +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/README.rst +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/__init__.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/config.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/models/__init__.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/models/constants.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/models/parameters.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/parsers/__init__.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/parsers/test_l0_fits_access.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/parsers/time.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/tasks/__init__.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/tasks/construct_dataset_extras.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/tasks/exercise_multiprocessing.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/tasks/exercise_numba.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/tasks/fail.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/tasks/fake_science.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/tasks/high_memory.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/tasks/manual.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/tasks/movie.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/tasks/noop.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/tasks/parse.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/tasks/quality.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/tasks/write_l1.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/tests/__init__.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/tests/conftest.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/tests/test_tasks.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/tests/test_workflows.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/workflows/__init__.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/workflows/common_tasks.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/workflows/end_to_end.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/workflows/exercise_gpu.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/workflows/exercise_multiprocessing.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/workflows/exercise_numba.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/workflows/fail.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/workflows/noop.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/workflows/resource_queue.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/workflows/trial_end_to_end.py +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test.egg-info/SOURCES.txt +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test.egg-info/dependency_links.txt +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test.egg-info/scm_file_list.json +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test.egg-info/top_level.txt +0 -0
- {dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dkist-processing-test
|
|
3
|
-
Version: 1.44.
|
|
3
|
+
Version: 1.44.1
|
|
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,7 +12,7 @@ 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.
|
|
15
|
+
Requires-Dist: dkist-processing-common==14.3.6
|
|
16
16
|
Requires-Dist: dkist-header-validator==5.4.0
|
|
17
17
|
Requires-Dist: dkist-service-configuration==4.3.0
|
|
18
18
|
Requires-Dist: dkist-fits-specifications==4.28.1
|
|
@@ -50,7 +50,7 @@ Requires-Dist: PyJWT==2.13.0; extra == "frozen"
|
|
|
50
50
|
Requires-Dist: PyYAML==6.0.3; extra == "frozen"
|
|
51
51
|
Requires-Dist: PyYAML-ft==8.0.0; extra == "frozen"
|
|
52
52
|
Requires-Dist: Pygments==2.20.0; extra == "frozen"
|
|
53
|
-
Requires-Dist: SQLAlchemy==2.0.
|
|
53
|
+
Requires-Dist: SQLAlchemy==2.0.52; extra == "frozen"
|
|
54
54
|
Requires-Dist: Send2Trash==2.1.0; extra == "frozen"
|
|
55
55
|
Requires-Dist: a2wsgi==1.10.10; extra == "frozen"
|
|
56
56
|
Requires-Dist: aioftp==0.28.0; extra == "frozen"
|
|
@@ -58,14 +58,14 @@ Requires-Dist: aiohappyeyeballs==2.7.1; extra == "frozen"
|
|
|
58
58
|
Requires-Dist: aiohttp==3.14.3; extra == "frozen"
|
|
59
59
|
Requires-Dist: aiosignal==1.4.0; extra == "frozen"
|
|
60
60
|
Requires-Dist: aiosmtplib==5.1.2; extra == "frozen"
|
|
61
|
-
Requires-Dist: aiosqlite==0.
|
|
61
|
+
Requires-Dist: aiosqlite==0.22.1; extra == "frozen"
|
|
62
62
|
Requires-Dist: alembic==1.19.1; extra == "frozen"
|
|
63
63
|
Requires-Dist: amqp==5.3.1; extra == "frozen"
|
|
64
64
|
Requires-Dist: annotated-doc==0.0.5; extra == "frozen"
|
|
65
65
|
Requires-Dist: annotated-types==0.8.0; extra == "frozen"
|
|
66
66
|
Requires-Dist: anyio==4.14.2; extra == "frozen"
|
|
67
|
-
Requires-Dist: apache-airflow==3.
|
|
68
|
-
Requires-Dist: apache-airflow-core==3.
|
|
67
|
+
Requires-Dist: apache-airflow==3.3.1; extra == "frozen"
|
|
68
|
+
Requires-Dist: apache-airflow-core==3.3.1; extra == "frozen"
|
|
69
69
|
Requires-Dist: apache-airflow-providers-celery==3.23.1; extra == "frozen"
|
|
70
70
|
Requires-Dist: apache-airflow-providers-common-compat==1.18.0; extra == "frozen"
|
|
71
71
|
Requires-Dist: apache-airflow-providers-common-io==1.8.0; extra == "frozen"
|
|
@@ -73,7 +73,7 @@ Requires-Dist: apache-airflow-providers-common-sql==2.1.0; extra == "frozen"
|
|
|
73
73
|
Requires-Dist: apache-airflow-providers-postgres==7.0.1; extra == "frozen"
|
|
74
74
|
Requires-Dist: apache-airflow-providers-smtp==3.0.3; extra == "frozen"
|
|
75
75
|
Requires-Dist: apache-airflow-providers-standard==1.17.0; extra == "frozen"
|
|
76
|
-
Requires-Dist: apache-airflow-task-sdk==1.
|
|
76
|
+
Requires-Dist: apache-airflow-task-sdk==1.3.1; extra == "frozen"
|
|
77
77
|
Requires-Dist: appnope==0.1.4; extra == "frozen"
|
|
78
78
|
Requires-Dist: argcomplete==3.7.2; extra == "frozen"
|
|
79
79
|
Requires-Dist: argon2-cffi==25.1.0; extra == "frozen"
|
|
@@ -93,13 +93,14 @@ Requires-Dist: babel==2.18.0; extra == "frozen"
|
|
|
93
93
|
Requires-Dist: beautifulsoup4==4.15.0; extra == "frozen"
|
|
94
94
|
Requires-Dist: billiard==4.2.4; extra == "frozen"
|
|
95
95
|
Requires-Dist: bleach==6.4.0; extra == "frozen"
|
|
96
|
-
Requires-Dist: boto3==1.43.
|
|
97
|
-
Requires-Dist: botocore==1.43.
|
|
98
|
-
Requires-Dist:
|
|
96
|
+
Requires-Dist: boto3==1.43.71; extra == "frozen"
|
|
97
|
+
Requires-Dist: botocore==1.43.71; extra == "frozen"
|
|
98
|
+
Requires-Dist: cachetools==7.1.7; extra == "frozen"
|
|
99
|
+
Requires-Dist: cadwyn==7.0.0; extra == "frozen"
|
|
99
100
|
Requires-Dist: celery==5.6.3; extra == "frozen"
|
|
100
101
|
Requires-Dist: certifi==2026.7.22; extra == "frozen"
|
|
101
102
|
Requires-Dist: cffi==2.1.1; extra == "frozen"
|
|
102
|
-
Requires-Dist: charset-normalizer==3.
|
|
103
|
+
Requires-Dist: charset-normalizer==3.5.0; extra == "frozen"
|
|
103
104
|
Requires-Dist: click==8.4.2; extra == "frozen"
|
|
104
105
|
Requires-Dist: click-didyoumean==0.3.1; extra == "frozen"
|
|
105
106
|
Requires-Dist: click-plugins==1.1.1.2; extra == "frozen"
|
|
@@ -116,17 +117,17 @@ Requires-Dist: decorator==5.3.1; extra == "frozen"
|
|
|
116
117
|
Requires-Dist: defusedxml==0.7.1; extra == "frozen"
|
|
117
118
|
Requires-Dist: dill==0.4.1; extra == "frozen"
|
|
118
119
|
Requires-Dist: dkist-header-validator==5.4.0; extra == "frozen"
|
|
119
|
-
Requires-Dist: dkist-processing-common==14.3.
|
|
120
|
-
Requires-Dist: dkist-processing-core==7.
|
|
120
|
+
Requires-Dist: dkist-processing-common==14.3.6; extra == "frozen"
|
|
121
|
+
Requires-Dist: dkist-processing-core==7.5.0; extra == "frozen"
|
|
121
122
|
Requires-Dist: dkist-processing-pac==3.1.2; extra == "frozen"
|
|
122
|
-
Requires-Dist: dkist-processing-test==1.44.
|
|
123
|
+
Requires-Dist: dkist-processing-test==1.44.1; extra == "frozen"
|
|
123
124
|
Requires-Dist: dkist-service-configuration==4.3.0; extra == "frozen"
|
|
124
125
|
Requires-Dist: dkist-spectral-lines==3.0.1; extra == "frozen"
|
|
125
126
|
Requires-Dist: dkist_fits_specifications==4.28.1; extra == "frozen"
|
|
126
127
|
Requires-Dist: dnspython==2.8.0; extra == "frozen"
|
|
127
128
|
Requires-Dist: email-validator==2.3.0; extra == "frozen"
|
|
128
129
|
Requires-Dist: executing==2.2.1; extra == "frozen"
|
|
129
|
-
Requires-Dist: fastapi==0.
|
|
130
|
+
Requires-Dist: fastapi==0.136.3; extra == "frozen"
|
|
130
131
|
Requires-Dist: fastapi-cli==0.0.32; extra == "frozen"
|
|
131
132
|
Requires-Dist: fastjsonschema==2.22.1; extra == "frozen"
|
|
132
133
|
Requires-Dist: flower==2.0.1; extra == "frozen"
|
|
@@ -236,7 +237,7 @@ Requires-Dist: pexpect==4.9.0; extra == "frozen"
|
|
|
236
237
|
Requires-Dist: pika==1.4.4; extra == "frozen"
|
|
237
238
|
Requires-Dist: pillow==11.3.0; extra == "frozen"
|
|
238
239
|
Requires-Dist: pip==26.2.1; extra == "frozen"
|
|
239
|
-
Requires-Dist: platformdirs==4.11.
|
|
240
|
+
Requires-Dist: platformdirs==4.11.3; extra == "frozen"
|
|
240
241
|
Requires-Dist: pluggy==1.6.0; extra == "frozen"
|
|
241
242
|
Requires-Dist: pooch==1.9.0; extra == "frozen"
|
|
242
243
|
Requires-Dist: proglog==0.1.12; extra == "frozen"
|
|
@@ -286,9 +287,9 @@ Requires-Dist: sniffio==1.3.1; extra == "frozen"
|
|
|
286
287
|
Requires-Dist: solar-wavelength-calibration==2.0.3; extra == "frozen"
|
|
287
288
|
Requires-Dist: soupsieve==2.9.2; extra == "frozen"
|
|
288
289
|
Requires-Dist: sqids==0.5.1; extra == "frozen"
|
|
289
|
-
Requires-Dist: sqlparse==0.
|
|
290
|
+
Requires-Dist: sqlparse==0.6.0; extra == "frozen"
|
|
290
291
|
Requires-Dist: stack-data==0.6.3; extra == "frozen"
|
|
291
|
-
Requires-Dist: starlette==
|
|
292
|
+
Requires-Dist: starlette==1.6.0; extra == "frozen"
|
|
292
293
|
Requires-Dist: structlog==26.1.0; extra == "frozen"
|
|
293
294
|
Requires-Dist: sunpy==8.0.0; extra == "frozen"
|
|
294
295
|
Requires-Dist: svcs==26.1.0; extra == "frozen"
|
|
@@ -303,7 +304,7 @@ Requires-Dist: tornado==6.5.8; extra == "frozen"
|
|
|
303
304
|
Requires-Dist: tqdm==4.70.0; extra == "frozen"
|
|
304
305
|
Requires-Dist: traitlets==5.16.1; extra == "frozen"
|
|
305
306
|
Requires-Dist: typer==0.27.1; extra == "frozen"
|
|
306
|
-
Requires-Dist: typing-inspection==0.4.
|
|
307
|
+
Requires-Dist: typing-inspection==0.4.4; extra == "frozen"
|
|
307
308
|
Requires-Dist: typing_extensions==4.16.0; extra == "frozen"
|
|
308
309
|
Requires-Dist: tzdata==2026.3; extra == "frozen"
|
|
309
310
|
Requires-Dist: tzlocal==5.4.4; extra == "frozen"
|
|
@@ -313,7 +314,7 @@ Requires-Dist: universal_pathlib==0.3.10; extra == "frozen"
|
|
|
313
314
|
Requires-Dist: uri-template==1.3.0; extra == "frozen"
|
|
314
315
|
Requires-Dist: urllib3==2.7.0; extra == "frozen"
|
|
315
316
|
Requires-Dist: uuid6==2025.0.1; extra == "frozen"
|
|
316
|
-
Requires-Dist: uvicorn==0.52.
|
|
317
|
+
Requires-Dist: uvicorn==0.52.3; extra == "frozen"
|
|
317
318
|
Requires-Dist: uvloop==0.22.1; extra == "frozen"
|
|
318
319
|
Requires-Dist: vine==5.1.0; extra == "frozen"
|
|
319
320
|
Requires-Dist: voluptuous==0.16.0; extra == "frozen"
|
|
@@ -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
|
+
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dkist-processing-test
|
|
3
|
-
Version: 1.44.
|
|
3
|
+
Version: 1.44.1
|
|
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,7 +12,7 @@ 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.
|
|
15
|
+
Requires-Dist: dkist-processing-common==14.3.6
|
|
16
16
|
Requires-Dist: dkist-header-validator==5.4.0
|
|
17
17
|
Requires-Dist: dkist-service-configuration==4.3.0
|
|
18
18
|
Requires-Dist: dkist-fits-specifications==4.28.1
|
|
@@ -50,7 +50,7 @@ Requires-Dist: PyJWT==2.13.0; extra == "frozen"
|
|
|
50
50
|
Requires-Dist: PyYAML==6.0.3; extra == "frozen"
|
|
51
51
|
Requires-Dist: PyYAML-ft==8.0.0; extra == "frozen"
|
|
52
52
|
Requires-Dist: Pygments==2.20.0; extra == "frozen"
|
|
53
|
-
Requires-Dist: SQLAlchemy==2.0.
|
|
53
|
+
Requires-Dist: SQLAlchemy==2.0.52; extra == "frozen"
|
|
54
54
|
Requires-Dist: Send2Trash==2.1.0; extra == "frozen"
|
|
55
55
|
Requires-Dist: a2wsgi==1.10.10; extra == "frozen"
|
|
56
56
|
Requires-Dist: aioftp==0.28.0; extra == "frozen"
|
|
@@ -58,14 +58,14 @@ Requires-Dist: aiohappyeyeballs==2.7.1; extra == "frozen"
|
|
|
58
58
|
Requires-Dist: aiohttp==3.14.3; extra == "frozen"
|
|
59
59
|
Requires-Dist: aiosignal==1.4.0; extra == "frozen"
|
|
60
60
|
Requires-Dist: aiosmtplib==5.1.2; extra == "frozen"
|
|
61
|
-
Requires-Dist: aiosqlite==0.
|
|
61
|
+
Requires-Dist: aiosqlite==0.22.1; extra == "frozen"
|
|
62
62
|
Requires-Dist: alembic==1.19.1; extra == "frozen"
|
|
63
63
|
Requires-Dist: amqp==5.3.1; extra == "frozen"
|
|
64
64
|
Requires-Dist: annotated-doc==0.0.5; extra == "frozen"
|
|
65
65
|
Requires-Dist: annotated-types==0.8.0; extra == "frozen"
|
|
66
66
|
Requires-Dist: anyio==4.14.2; extra == "frozen"
|
|
67
|
-
Requires-Dist: apache-airflow==3.
|
|
68
|
-
Requires-Dist: apache-airflow-core==3.
|
|
67
|
+
Requires-Dist: apache-airflow==3.3.1; extra == "frozen"
|
|
68
|
+
Requires-Dist: apache-airflow-core==3.3.1; extra == "frozen"
|
|
69
69
|
Requires-Dist: apache-airflow-providers-celery==3.23.1; extra == "frozen"
|
|
70
70
|
Requires-Dist: apache-airflow-providers-common-compat==1.18.0; extra == "frozen"
|
|
71
71
|
Requires-Dist: apache-airflow-providers-common-io==1.8.0; extra == "frozen"
|
|
@@ -73,7 +73,7 @@ Requires-Dist: apache-airflow-providers-common-sql==2.1.0; extra == "frozen"
|
|
|
73
73
|
Requires-Dist: apache-airflow-providers-postgres==7.0.1; extra == "frozen"
|
|
74
74
|
Requires-Dist: apache-airflow-providers-smtp==3.0.3; extra == "frozen"
|
|
75
75
|
Requires-Dist: apache-airflow-providers-standard==1.17.0; extra == "frozen"
|
|
76
|
-
Requires-Dist: apache-airflow-task-sdk==1.
|
|
76
|
+
Requires-Dist: apache-airflow-task-sdk==1.3.1; extra == "frozen"
|
|
77
77
|
Requires-Dist: appnope==0.1.4; extra == "frozen"
|
|
78
78
|
Requires-Dist: argcomplete==3.7.2; extra == "frozen"
|
|
79
79
|
Requires-Dist: argon2-cffi==25.1.0; extra == "frozen"
|
|
@@ -93,13 +93,14 @@ Requires-Dist: babel==2.18.0; extra == "frozen"
|
|
|
93
93
|
Requires-Dist: beautifulsoup4==4.15.0; extra == "frozen"
|
|
94
94
|
Requires-Dist: billiard==4.2.4; extra == "frozen"
|
|
95
95
|
Requires-Dist: bleach==6.4.0; extra == "frozen"
|
|
96
|
-
Requires-Dist: boto3==1.43.
|
|
97
|
-
Requires-Dist: botocore==1.43.
|
|
98
|
-
Requires-Dist:
|
|
96
|
+
Requires-Dist: boto3==1.43.71; extra == "frozen"
|
|
97
|
+
Requires-Dist: botocore==1.43.71; extra == "frozen"
|
|
98
|
+
Requires-Dist: cachetools==7.1.7; extra == "frozen"
|
|
99
|
+
Requires-Dist: cadwyn==7.0.0; extra == "frozen"
|
|
99
100
|
Requires-Dist: celery==5.6.3; extra == "frozen"
|
|
100
101
|
Requires-Dist: certifi==2026.7.22; extra == "frozen"
|
|
101
102
|
Requires-Dist: cffi==2.1.1; extra == "frozen"
|
|
102
|
-
Requires-Dist: charset-normalizer==3.
|
|
103
|
+
Requires-Dist: charset-normalizer==3.5.0; extra == "frozen"
|
|
103
104
|
Requires-Dist: click==8.4.2; extra == "frozen"
|
|
104
105
|
Requires-Dist: click-didyoumean==0.3.1; extra == "frozen"
|
|
105
106
|
Requires-Dist: click-plugins==1.1.1.2; extra == "frozen"
|
|
@@ -116,17 +117,17 @@ Requires-Dist: decorator==5.3.1; extra == "frozen"
|
|
|
116
117
|
Requires-Dist: defusedxml==0.7.1; extra == "frozen"
|
|
117
118
|
Requires-Dist: dill==0.4.1; extra == "frozen"
|
|
118
119
|
Requires-Dist: dkist-header-validator==5.4.0; extra == "frozen"
|
|
119
|
-
Requires-Dist: dkist-processing-common==14.3.
|
|
120
|
-
Requires-Dist: dkist-processing-core==7.
|
|
120
|
+
Requires-Dist: dkist-processing-common==14.3.6; extra == "frozen"
|
|
121
|
+
Requires-Dist: dkist-processing-core==7.5.0; extra == "frozen"
|
|
121
122
|
Requires-Dist: dkist-processing-pac==3.1.2; extra == "frozen"
|
|
122
|
-
Requires-Dist: dkist-processing-test==1.44.
|
|
123
|
+
Requires-Dist: dkist-processing-test==1.44.1; extra == "frozen"
|
|
123
124
|
Requires-Dist: dkist-service-configuration==4.3.0; extra == "frozen"
|
|
124
125
|
Requires-Dist: dkist-spectral-lines==3.0.1; extra == "frozen"
|
|
125
126
|
Requires-Dist: dkist_fits_specifications==4.28.1; extra == "frozen"
|
|
126
127
|
Requires-Dist: dnspython==2.8.0; extra == "frozen"
|
|
127
128
|
Requires-Dist: email-validator==2.3.0; extra == "frozen"
|
|
128
129
|
Requires-Dist: executing==2.2.1; extra == "frozen"
|
|
129
|
-
Requires-Dist: fastapi==0.
|
|
130
|
+
Requires-Dist: fastapi==0.136.3; extra == "frozen"
|
|
130
131
|
Requires-Dist: fastapi-cli==0.0.32; extra == "frozen"
|
|
131
132
|
Requires-Dist: fastjsonschema==2.22.1; extra == "frozen"
|
|
132
133
|
Requires-Dist: flower==2.0.1; extra == "frozen"
|
|
@@ -236,7 +237,7 @@ Requires-Dist: pexpect==4.9.0; extra == "frozen"
|
|
|
236
237
|
Requires-Dist: pika==1.4.4; extra == "frozen"
|
|
237
238
|
Requires-Dist: pillow==11.3.0; extra == "frozen"
|
|
238
239
|
Requires-Dist: pip==26.2.1; extra == "frozen"
|
|
239
|
-
Requires-Dist: platformdirs==4.11.
|
|
240
|
+
Requires-Dist: platformdirs==4.11.3; extra == "frozen"
|
|
240
241
|
Requires-Dist: pluggy==1.6.0; extra == "frozen"
|
|
241
242
|
Requires-Dist: pooch==1.9.0; extra == "frozen"
|
|
242
243
|
Requires-Dist: proglog==0.1.12; extra == "frozen"
|
|
@@ -286,9 +287,9 @@ Requires-Dist: sniffio==1.3.1; extra == "frozen"
|
|
|
286
287
|
Requires-Dist: solar-wavelength-calibration==2.0.3; extra == "frozen"
|
|
287
288
|
Requires-Dist: soupsieve==2.9.2; extra == "frozen"
|
|
288
289
|
Requires-Dist: sqids==0.5.1; extra == "frozen"
|
|
289
|
-
Requires-Dist: sqlparse==0.
|
|
290
|
+
Requires-Dist: sqlparse==0.6.0; extra == "frozen"
|
|
290
291
|
Requires-Dist: stack-data==0.6.3; extra == "frozen"
|
|
291
|
-
Requires-Dist: starlette==
|
|
292
|
+
Requires-Dist: starlette==1.6.0; extra == "frozen"
|
|
292
293
|
Requires-Dist: structlog==26.1.0; extra == "frozen"
|
|
293
294
|
Requires-Dist: sunpy==8.0.0; extra == "frozen"
|
|
294
295
|
Requires-Dist: svcs==26.1.0; extra == "frozen"
|
|
@@ -303,7 +304,7 @@ Requires-Dist: tornado==6.5.8; extra == "frozen"
|
|
|
303
304
|
Requires-Dist: tqdm==4.70.0; extra == "frozen"
|
|
304
305
|
Requires-Dist: traitlets==5.16.1; extra == "frozen"
|
|
305
306
|
Requires-Dist: typer==0.27.1; extra == "frozen"
|
|
306
|
-
Requires-Dist: typing-inspection==0.4.
|
|
307
|
+
Requires-Dist: typing-inspection==0.4.4; extra == "frozen"
|
|
307
308
|
Requires-Dist: typing_extensions==4.16.0; extra == "frozen"
|
|
308
309
|
Requires-Dist: tzdata==2026.3; extra == "frozen"
|
|
309
310
|
Requires-Dist: tzlocal==5.4.4; extra == "frozen"
|
|
@@ -313,7 +314,7 @@ Requires-Dist: universal_pathlib==0.3.10; extra == "frozen"
|
|
|
313
314
|
Requires-Dist: uri-template==1.3.0; extra == "frozen"
|
|
314
315
|
Requires-Dist: urllib3==2.7.0; extra == "frozen"
|
|
315
316
|
Requires-Dist: uuid6==2025.0.1; extra == "frozen"
|
|
316
|
-
Requires-Dist: uvicorn==0.52.
|
|
317
|
+
Requires-Dist: uvicorn==0.52.3; extra == "frozen"
|
|
317
318
|
Requires-Dist: uvloop==0.22.1; extra == "frozen"
|
|
318
319
|
Requires-Dist: vine==5.1.0; extra == "frozen"
|
|
319
320
|
Requires-Dist: voluptuous==0.16.0; extra == "frozen"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
dkist-processing-common==14.3.
|
|
1
|
+
dkist-processing-common==14.3.6
|
|
2
2
|
dkist-header-validator==5.4.0
|
|
3
3
|
dkist-service-configuration==4.3.0
|
|
4
4
|
dkist-fits-specifications==4.28.1
|
|
@@ -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.
|
|
24
|
+
SQLAlchemy==2.0.52
|
|
25
25
|
Send2Trash==2.1.0
|
|
26
26
|
a2wsgi==1.10.10
|
|
27
27
|
aioftp==0.28.0
|
|
@@ -29,14 +29,14 @@ aiohappyeyeballs==2.7.1
|
|
|
29
29
|
aiohttp==3.14.3
|
|
30
30
|
aiosignal==1.4.0
|
|
31
31
|
aiosmtplib==5.1.2
|
|
32
|
-
aiosqlite==0.
|
|
32
|
+
aiosqlite==0.22.1
|
|
33
33
|
alembic==1.19.1
|
|
34
34
|
amqp==5.3.1
|
|
35
35
|
annotated-doc==0.0.5
|
|
36
36
|
annotated-types==0.8.0
|
|
37
37
|
anyio==4.14.2
|
|
38
|
-
apache-airflow==3.
|
|
39
|
-
apache-airflow-core==3.
|
|
38
|
+
apache-airflow==3.3.1
|
|
39
|
+
apache-airflow-core==3.3.1
|
|
40
40
|
apache-airflow-providers-celery==3.23.1
|
|
41
41
|
apache-airflow-providers-common-compat==1.18.0
|
|
42
42
|
apache-airflow-providers-common-io==1.8.0
|
|
@@ -44,7 +44,7 @@ apache-airflow-providers-common-sql==2.1.0
|
|
|
44
44
|
apache-airflow-providers-postgres==7.0.1
|
|
45
45
|
apache-airflow-providers-smtp==3.0.3
|
|
46
46
|
apache-airflow-providers-standard==1.17.0
|
|
47
|
-
apache-airflow-task-sdk==1.
|
|
47
|
+
apache-airflow-task-sdk==1.3.1
|
|
48
48
|
appnope==0.1.4
|
|
49
49
|
argcomplete==3.7.2
|
|
50
50
|
argon2-cffi==25.1.0
|
|
@@ -64,13 +64,14 @@ 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
|
-
botocore==1.43.
|
|
69
|
-
|
|
67
|
+
boto3==1.43.71
|
|
68
|
+
botocore==1.43.71
|
|
69
|
+
cachetools==7.1.7
|
|
70
|
+
cadwyn==7.0.0
|
|
70
71
|
celery==5.6.3
|
|
71
72
|
certifi==2026.7.22
|
|
72
73
|
cffi==2.1.1
|
|
73
|
-
charset-normalizer==3.
|
|
74
|
+
charset-normalizer==3.5.0
|
|
74
75
|
click==8.4.2
|
|
75
76
|
click-didyoumean==0.3.1
|
|
76
77
|
click-plugins==1.1.1.2
|
|
@@ -87,17 +88,17 @@ decorator==5.3.1
|
|
|
87
88
|
defusedxml==0.7.1
|
|
88
89
|
dill==0.4.1
|
|
89
90
|
dkist-header-validator==5.4.0
|
|
90
|
-
dkist-processing-common==14.3.
|
|
91
|
-
dkist-processing-core==7.
|
|
91
|
+
dkist-processing-common==14.3.6
|
|
92
|
+
dkist-processing-core==7.5.0
|
|
92
93
|
dkist-processing-pac==3.1.2
|
|
93
|
-
dkist-processing-test==1.44.
|
|
94
|
+
dkist-processing-test==1.44.1
|
|
94
95
|
dkist-service-configuration==4.3.0
|
|
95
96
|
dkist-spectral-lines==3.0.1
|
|
96
97
|
dkist_fits_specifications==4.28.1
|
|
97
98
|
dnspython==2.8.0
|
|
98
99
|
email-validator==2.3.0
|
|
99
100
|
executing==2.2.1
|
|
100
|
-
fastapi==0.
|
|
101
|
+
fastapi==0.136.3
|
|
101
102
|
fastapi-cli==0.0.32
|
|
102
103
|
fastjsonschema==2.22.1
|
|
103
104
|
flower==2.0.1
|
|
@@ -207,7 +208,7 @@ pexpect==4.9.0
|
|
|
207
208
|
pika==1.4.4
|
|
208
209
|
pillow==11.3.0
|
|
209
210
|
pip==26.2.1
|
|
210
|
-
platformdirs==4.11.
|
|
211
|
+
platformdirs==4.11.3
|
|
211
212
|
pluggy==1.6.0
|
|
212
213
|
pooch==1.9.0
|
|
213
214
|
proglog==0.1.12
|
|
@@ -257,9 +258,9 @@ sniffio==1.3.1
|
|
|
257
258
|
solar-wavelength-calibration==2.0.3
|
|
258
259
|
soupsieve==2.9.2
|
|
259
260
|
sqids==0.5.1
|
|
260
|
-
sqlparse==0.
|
|
261
|
+
sqlparse==0.6.0
|
|
261
262
|
stack-data==0.6.3
|
|
262
|
-
starlette==
|
|
263
|
+
starlette==1.6.0
|
|
263
264
|
structlog==26.1.0
|
|
264
265
|
sunpy==8.0.0
|
|
265
266
|
svcs==26.1.0
|
|
@@ -274,7 +275,7 @@ tornado==6.5.8
|
|
|
274
275
|
tqdm==4.70.0
|
|
275
276
|
traitlets==5.16.1
|
|
276
277
|
typer==0.27.1
|
|
277
|
-
typing-inspection==0.4.
|
|
278
|
+
typing-inspection==0.4.4
|
|
278
279
|
typing_extensions==4.16.0
|
|
279
280
|
tzdata==2026.3
|
|
280
281
|
tzlocal==5.4.4
|
|
@@ -284,7 +285,7 @@ universal_pathlib==0.3.10
|
|
|
284
285
|
uri-template==1.3.0
|
|
285
286
|
urllib3==2.7.0
|
|
286
287
|
uuid6==2025.0.1
|
|
287
|
-
uvicorn==0.52.
|
|
288
|
+
uvicorn==0.52.3
|
|
288
289
|
uvloop==0.22.1
|
|
289
290
|
vine==5.1.0
|
|
290
291
|
voluptuous==0.16.0
|
|
@@ -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.44.
|
|
13
|
-
date = 2026-08-
|
|
12
|
+
version = "1.44.1"
|
|
13
|
+
date = 2026-08-14T09:30:02.796098
|
|
14
14
|
|
|
15
15
|
[project]
|
|
16
16
|
dynamic = ["version"]
|
|
@@ -26,7 +26,7 @@ classifiers = [
|
|
|
26
26
|
"Programming Language :: Python :: 3.13",
|
|
27
27
|
]
|
|
28
28
|
dependencies = [
|
|
29
|
-
"dkist-processing-common == 14.3.
|
|
29
|
+
"dkist-processing-common == 14.3.6",
|
|
30
30
|
"dkist-header-validator == 5.4.0",
|
|
31
31
|
"dkist-service-configuration == 4.3.0",
|
|
32
32
|
"dkist-fits-specifications == 4.28.1",
|
|
@@ -77,7 +77,7 @@ frozen = [
|
|
|
77
77
|
"PyYAML == 6.0.3",
|
|
78
78
|
"PyYAML-ft == 8.0.0",
|
|
79
79
|
"Pygments == 2.20.0",
|
|
80
|
-
"SQLAlchemy == 2.0.
|
|
80
|
+
"SQLAlchemy == 2.0.52",
|
|
81
81
|
"Send2Trash == 2.1.0",
|
|
82
82
|
"a2wsgi == 1.10.10",
|
|
83
83
|
"aioftp == 0.28.0",
|
|
@@ -85,14 +85,14 @@ frozen = [
|
|
|
85
85
|
"aiohttp == 3.14.3",
|
|
86
86
|
"aiosignal == 1.4.0",
|
|
87
87
|
"aiosmtplib == 5.1.2",
|
|
88
|
-
"aiosqlite == 0.
|
|
88
|
+
"aiosqlite == 0.22.1",
|
|
89
89
|
"alembic == 1.19.1",
|
|
90
90
|
"amqp == 5.3.1",
|
|
91
91
|
"annotated-doc == 0.0.5",
|
|
92
92
|
"annotated-types == 0.8.0",
|
|
93
93
|
"anyio == 4.14.2",
|
|
94
|
-
"apache-airflow == 3.
|
|
95
|
-
"apache-airflow-core == 3.
|
|
94
|
+
"apache-airflow == 3.3.1",
|
|
95
|
+
"apache-airflow-core == 3.3.1",
|
|
96
96
|
"apache-airflow-providers-celery == 3.23.1",
|
|
97
97
|
"apache-airflow-providers-common-compat == 1.18.0",
|
|
98
98
|
"apache-airflow-providers-common-io == 1.8.0",
|
|
@@ -100,7 +100,7 @@ frozen = [
|
|
|
100
100
|
"apache-airflow-providers-postgres == 7.0.1",
|
|
101
101
|
"apache-airflow-providers-smtp == 3.0.3",
|
|
102
102
|
"apache-airflow-providers-standard == 1.17.0",
|
|
103
|
-
"apache-airflow-task-sdk == 1.
|
|
103
|
+
"apache-airflow-task-sdk == 1.3.1",
|
|
104
104
|
"appnope == 0.1.4",
|
|
105
105
|
"argcomplete == 3.7.2",
|
|
106
106
|
"argon2-cffi == 25.1.0",
|
|
@@ -120,13 +120,14 @@ frozen = [
|
|
|
120
120
|
"beautifulsoup4 == 4.15.0",
|
|
121
121
|
"billiard == 4.2.4",
|
|
122
122
|
"bleach == 6.4.0",
|
|
123
|
-
"boto3 == 1.43.
|
|
124
|
-
"botocore == 1.43.
|
|
125
|
-
"
|
|
123
|
+
"boto3 == 1.43.71",
|
|
124
|
+
"botocore == 1.43.71",
|
|
125
|
+
"cachetools == 7.1.7",
|
|
126
|
+
"cadwyn == 7.0.0",
|
|
126
127
|
"celery == 5.6.3",
|
|
127
128
|
"certifi == 2026.7.22",
|
|
128
129
|
"cffi == 2.1.1",
|
|
129
|
-
"charset-normalizer == 3.
|
|
130
|
+
"charset-normalizer == 3.5.0",
|
|
130
131
|
"click == 8.4.2",
|
|
131
132
|
"click-didyoumean == 0.3.1",
|
|
132
133
|
"click-plugins == 1.1.1.2",
|
|
@@ -143,17 +144,17 @@ frozen = [
|
|
|
143
144
|
"defusedxml == 0.7.1",
|
|
144
145
|
"dill == 0.4.1",
|
|
145
146
|
"dkist-header-validator == 5.4.0",
|
|
146
|
-
"dkist-processing-common == 14.3.
|
|
147
|
-
"dkist-processing-core == 7.
|
|
147
|
+
"dkist-processing-common == 14.3.6",
|
|
148
|
+
"dkist-processing-core == 7.5.0",
|
|
148
149
|
"dkist-processing-pac == 3.1.2",
|
|
149
|
-
"dkist-processing-test == 1.44.
|
|
150
|
+
"dkist-processing-test == 1.44.1",
|
|
150
151
|
"dkist-service-configuration == 4.3.0",
|
|
151
152
|
"dkist-spectral-lines == 3.0.1",
|
|
152
153
|
"dkist_fits_specifications == 4.28.1",
|
|
153
154
|
"dnspython == 2.8.0",
|
|
154
155
|
"email-validator == 2.3.0",
|
|
155
156
|
"executing == 2.2.1",
|
|
156
|
-
"fastapi == 0.
|
|
157
|
+
"fastapi == 0.136.3",
|
|
157
158
|
"fastapi-cli == 0.0.32",
|
|
158
159
|
"fastjsonschema == 2.22.1",
|
|
159
160
|
"flower == 2.0.1",
|
|
@@ -263,7 +264,7 @@ frozen = [
|
|
|
263
264
|
"pika == 1.4.4",
|
|
264
265
|
"pillow == 11.3.0",
|
|
265
266
|
"pip == 26.2.1",
|
|
266
|
-
"platformdirs == 4.11.
|
|
267
|
+
"platformdirs == 4.11.3",
|
|
267
268
|
"pluggy == 1.6.0",
|
|
268
269
|
"pooch == 1.9.0",
|
|
269
270
|
"proglog == 0.1.12",
|
|
@@ -313,9 +314,9 @@ frozen = [
|
|
|
313
314
|
"solar-wavelength-calibration == 2.0.3",
|
|
314
315
|
"soupsieve == 2.9.2",
|
|
315
316
|
"sqids == 0.5.1",
|
|
316
|
-
"sqlparse == 0.
|
|
317
|
+
"sqlparse == 0.6.0",
|
|
317
318
|
"stack-data == 0.6.3",
|
|
318
|
-
"starlette ==
|
|
319
|
+
"starlette == 1.6.0",
|
|
319
320
|
"structlog == 26.1.0",
|
|
320
321
|
"sunpy == 8.0.0",
|
|
321
322
|
"svcs == 26.1.0",
|
|
@@ -330,7 +331,7 @@ frozen = [
|
|
|
330
331
|
"tqdm == 4.70.0",
|
|
331
332
|
"traitlets == 5.16.1",
|
|
332
333
|
"typer == 0.27.1",
|
|
333
|
-
"typing-inspection == 0.4.
|
|
334
|
+
"typing-inspection == 0.4.4",
|
|
334
335
|
"typing_extensions == 4.16.0",
|
|
335
336
|
"tzdata == 2026.3",
|
|
336
337
|
"tzlocal == 5.4.4",
|
|
@@ -340,7 +341,7 @@ frozen = [
|
|
|
340
341
|
"uri-template == 1.3.0",
|
|
341
342
|
"urllib3 == 2.7.0",
|
|
342
343
|
"uuid6 == 2025.0.1",
|
|
343
|
-
"uvicorn == 0.52.
|
|
344
|
+
"uvicorn == 0.52.3",
|
|
344
345
|
"uvloop == 0.22.1",
|
|
345
346
|
"vine == 5.1.0",
|
|
346
347
|
"voluptuous == 0.16.0",
|
|
@@ -1,44 +0,0 @@
|
|
|
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
|
-
# Import lazily so non-GPU tasks can be discovered without initializing CUDA.
|
|
19
|
-
import cupy as cp
|
|
20
|
-
|
|
21
|
-
device_count = cp.cuda.runtime.getDeviceCount()
|
|
22
|
-
if device_count < 1:
|
|
23
|
-
raise RuntimeError("CuPy did not find an available GPU.")
|
|
24
|
-
|
|
25
|
-
host_input = np.arange(ELEMENT_COUNT, dtype=np.float32)
|
|
26
|
-
device = cp.cuda.Device(0)
|
|
27
|
-
with device:
|
|
28
|
-
device_input = cp.asarray(host_input)
|
|
29
|
-
device_result = cp.add(cp.multiply(device_input, SCALE_FACTOR), OFFSET)
|
|
30
|
-
device_checksum = cp.sum(device_result)
|
|
31
|
-
|
|
32
|
-
cp.cuda.get_current_stream().synchronize()
|
|
33
|
-
host_result = cp.asnumpy(device_result)
|
|
34
|
-
checksum = float(device_checksum.get())
|
|
35
|
-
compute_capability = device.compute_capability
|
|
36
|
-
|
|
37
|
-
expected_result = host_input * SCALE_FACTOR + OFFSET
|
|
38
|
-
if not np.array_equal(host_result, expected_result):
|
|
39
|
-
raise RuntimeError("CuPy returned an unexpected result.")
|
|
40
|
-
|
|
41
|
-
logger.info(
|
|
42
|
-
f"ExerciseGpu completed CuPy operations on GPU {device.id} "
|
|
43
|
-
f"(compute capability {compute_capability}) with checksum {checksum}."
|
|
44
|
-
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/__init__.py
RENAMED
|
File without changes
|
{dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/tasks/fail.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dkist_processing_test-1.44.0rc2 → dkist_processing_test-1.44.1}/dkist_processing_test/tasks/noop.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|