dkist-processing-cryonirsp 1.13.1__py3-none-any.whl → 1.14.1rc1__py3-none-any.whl
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.
Potentially problematic release.
This version of dkist-processing-cryonirsp might be problematic. Click here for more details.
- changelog/223.misc.rst +1 -0
- dkist_processing_cryonirsp/tasks/bad_pixel_map.py +5 -5
- dkist_processing_cryonirsp/tasks/beam_boundaries_base.py +8 -10
- dkist_processing_cryonirsp/tasks/dark.py +4 -4
- dkist_processing_cryonirsp/tasks/gain.py +6 -6
- dkist_processing_cryonirsp/tasks/instrument_polarization.py +15 -15
- dkist_processing_cryonirsp/tasks/make_movie_frames.py +2 -2
- dkist_processing_cryonirsp/tasks/quality_metrics.py +14 -14
- dkist_processing_cryonirsp/tasks/science_base.py +5 -5
- dkist_processing_cryonirsp/tasks/sp_geometric.py +9 -9
- dkist_processing_cryonirsp/tasks/sp_solar_gain.py +14 -12
- dkist_processing_cryonirsp/tasks/sp_wavelength_calibration.py +5 -5
- dkist_processing_cryonirsp/tests/header_models.py +36 -3
- dkist_processing_cryonirsp/tests/local_trial_workflows/l0_cals_only.py +0 -21
- dkist_processing_cryonirsp/tests/local_trial_workflows/l0_to_l1.py +0 -20
- dkist_processing_cryonirsp/tests/test_parse.py +7 -0
- {dkist_processing_cryonirsp-1.13.1.dist-info → dkist_processing_cryonirsp-1.14.1rc1.dist-info}/METADATA +143 -50
- {dkist_processing_cryonirsp-1.13.1.dist-info → dkist_processing_cryonirsp-1.14.1rc1.dist-info}/RECORD +20 -19
- {dkist_processing_cryonirsp-1.13.1.dist-info → dkist_processing_cryonirsp-1.14.1rc1.dist-info}/WHEEL +0 -0
- {dkist_processing_cryonirsp-1.13.1.dist-info → dkist_processing_cryonirsp-1.14.1rc1.dist-info}/top_level.txt +0 -0
|
@@ -8,12 +8,9 @@ import uuid
|
|
|
8
8
|
from random import choice
|
|
9
9
|
|
|
10
10
|
import numpy as np
|
|
11
|
-
import pytest
|
|
12
|
-
from astropy.io import fits
|
|
13
11
|
from astropy.wcs import WCS
|
|
14
12
|
from dkist_data_simulator.dataset import key_function
|
|
15
13
|
from dkist_data_simulator.spec122 import Spec122Dataset
|
|
16
|
-
from dkist_header_validator import spec122_validator
|
|
17
14
|
|
|
18
15
|
from dkist_processing_cryonirsp.models.exposure_conditions import AllowableOpticalDensityFilterNames
|
|
19
16
|
from dkist_processing_cryonirsp.models.exposure_conditions import ExposureConditions
|
|
@@ -54,6 +51,18 @@ class CryonirspHeaders(Spec122Dataset):
|
|
|
54
51
|
|
|
55
52
|
self.add_constant_key("CAM__004", exp_time)
|
|
56
53
|
|
|
54
|
+
self.add_constant_key("CAM__001", "camera_id")
|
|
55
|
+
self.add_constant_key("CAM__002", "camera_name")
|
|
56
|
+
self.add_constant_key("CAM__003", 1)
|
|
57
|
+
self.add_constant_key("CAM__009", 1)
|
|
58
|
+
self.add_constant_key("CAM__010", 1)
|
|
59
|
+
self.add_constant_key("CAM__011", 1)
|
|
60
|
+
self.add_constant_key("CAM__012", 1)
|
|
61
|
+
self.add_constant_key("ID___014", "v1")
|
|
62
|
+
self.add_constant_key("TELTRACK", "Fixed Solar Rotation Tracking")
|
|
63
|
+
self.add_constant_key("TTBLTRCK", "fixed angle on sun")
|
|
64
|
+
self.add_constant_key("CAM__014", 10) # num_raw_frames_per_fpa
|
|
65
|
+
|
|
57
66
|
@key_function("CRSP_042")
|
|
58
67
|
# current modstate
|
|
59
68
|
def current_modstate(self, key: str):
|
|
@@ -176,6 +185,13 @@ class CryonirspHeadersValidDarkFrames(CryonirspHeaders):
|
|
|
176
185
|
self.add_constant_key("CRSP_041", 1)
|
|
177
186
|
self.add_constant_key("CRSP_042", 1)
|
|
178
187
|
|
|
188
|
+
self.add_constant_key("TELSCAN", "Raster")
|
|
189
|
+
self.add_constant_key("PAC__002", "lamp")
|
|
190
|
+
self.add_constant_key("PAC__003", "on")
|
|
191
|
+
self.add_constant_key("PAC__004", "Sapphire Polarizer")
|
|
192
|
+
self.add_constant_key("PAC__006", "SiO2 OC")
|
|
193
|
+
self.add_constant_key("PAC__008", "FieldStop (5arcmin)")
|
|
194
|
+
|
|
179
195
|
|
|
180
196
|
class CryonirspHeadersValidLampGainFrames(CryonirspHeaders):
|
|
181
197
|
def __init__(
|
|
@@ -230,6 +246,10 @@ class CryonirspHeadersValidCISolarGainFrames(CryonirspHeaders):
|
|
|
230
246
|
self.add_constant_key("CRSP_007", 1)
|
|
231
247
|
# lamp (clear, lamp, undefined)
|
|
232
248
|
self.add_constant_key("PAC__002", "clear")
|
|
249
|
+
self.add_constant_key("PAC__003", "off")
|
|
250
|
+
self.add_constant_key("PAC__004", "clear")
|
|
251
|
+
self.add_constant_key("PAC__006", "clear")
|
|
252
|
+
self.add_constant_key("PAC__008", "FieldStop (5arcmin)")
|
|
233
253
|
self.add_constant_key("TELSCAN", "Raster")
|
|
234
254
|
# inst prog id
|
|
235
255
|
self.add_constant_key("ID___004")
|
|
@@ -263,6 +283,10 @@ class CryonirspHeadersValidSPSolarGainFrames(CryonirspHeaders):
|
|
|
263
283
|
self.add_constant_key("CRSP_007", 1)
|
|
264
284
|
# lamp (clear, lamp, undefined)
|
|
265
285
|
self.add_constant_key("PAC__002", "clear")
|
|
286
|
+
self.add_constant_key("PAC__003", "off")
|
|
287
|
+
self.add_constant_key("PAC__004", "clear")
|
|
288
|
+
self.add_constant_key("PAC__006", "clear")
|
|
289
|
+
self.add_constant_key("PAC__008", "FieldStop (5arcmin)")
|
|
266
290
|
self.add_constant_key("TELSCAN", "Raster")
|
|
267
291
|
# inst prog id
|
|
268
292
|
self.add_constant_key("ID___004")
|
|
@@ -481,6 +505,9 @@ class ModulatedSolarGainHeaders(SimpleModulatedHeaders):
|
|
|
481
505
|
self.add_constant_key("CRSP_007", 1)
|
|
482
506
|
# inst prog id
|
|
483
507
|
self.add_constant_key("ID___004")
|
|
508
|
+
self.add_constant_key("PAC__004", "clear")
|
|
509
|
+
self.add_constant_key("PAC__006", "clear")
|
|
510
|
+
self.add_constant_key("PAC__008", "FieldStop (5arcmin)")
|
|
484
511
|
|
|
485
512
|
|
|
486
513
|
class ModulatedDarkHeaders(SimpleModulatedHeaders):
|
|
@@ -514,6 +541,12 @@ class ModulatedDarkHeaders(SimpleModulatedHeaders):
|
|
|
514
541
|
# inst prog id
|
|
515
542
|
self.add_constant_key("ID___004")
|
|
516
543
|
self.add_constant_key("WAVELNTH", 0.0)
|
|
544
|
+
self.add_constant_key("TELSCAN", "Raster")
|
|
545
|
+
self.add_constant_key("PAC__002", "lamp")
|
|
546
|
+
self.add_constant_key("PAC__003", "on")
|
|
547
|
+
self.add_constant_key("PAC__004", "Sapphire Polarizer")
|
|
548
|
+
self.add_constant_key("PAC__006", "SiO2 OC")
|
|
549
|
+
self.add_constant_key("PAC__008", "FieldStop (5arcmin)")
|
|
517
550
|
|
|
518
551
|
|
|
519
552
|
class ModulatedPolcalHeaders(SimpleModulatedHeaders):
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import argparse
|
|
2
|
-
import json
|
|
3
2
|
import os
|
|
4
3
|
import sys
|
|
5
4
|
from datetime import datetime
|
|
@@ -170,21 +169,6 @@ def spoof_obs_lin_parsed_constants(
|
|
|
170
169
|
return SetCalOnlyConstants
|
|
171
170
|
|
|
172
171
|
|
|
173
|
-
def setup_APM_config() -> None:
|
|
174
|
-
mesh_config = {
|
|
175
|
-
"system-monitoring-log-apm": {
|
|
176
|
-
"mesh_address": "system-monitoring-log-apm.service.sim.consul",
|
|
177
|
-
"mesh_port": 8200,
|
|
178
|
-
},
|
|
179
|
-
"automated-processing-scratch-inventory": {"mesh_address": "localhost", "mesh_port": 6379},
|
|
180
|
-
"internal-api-gateway": {"mesh_address": "localhost", "mesh_port": 80},
|
|
181
|
-
}
|
|
182
|
-
apm_options = {"TRANSACTION_MAX_SPANS": 10000}
|
|
183
|
-
os.environ["MESH_CONFIG"] = json.dumps(mesh_config)
|
|
184
|
-
os.environ["ELASTIC_APM_ENABLED"] = "true"
|
|
185
|
-
os.environ["ELASTIC_APM_OTHER_OPTIONS"] = json.dumps(apm_options)
|
|
186
|
-
|
|
187
|
-
|
|
188
172
|
def CI_workflow(
|
|
189
173
|
manual_processing_run: ManualProcessing,
|
|
190
174
|
load_beam_boundaries: bool = False,
|
|
@@ -289,13 +273,10 @@ def main(
|
|
|
289
273
|
load_solar: bool = False,
|
|
290
274
|
load_wavelength_correction: bool = False,
|
|
291
275
|
load_inst_pol: bool = False,
|
|
292
|
-
use_apm: bool = False,
|
|
293
276
|
param_path: Path = None,
|
|
294
277
|
dummy_wavelength: float = 1083.0,
|
|
295
278
|
polarimetric: bool = True,
|
|
296
279
|
):
|
|
297
|
-
if use_apm:
|
|
298
|
-
setup_APM_config()
|
|
299
280
|
with ManualProcessing(
|
|
300
281
|
workflow_path=Path(scratch_path),
|
|
301
282
|
recipe_run_id=recipe_run_id,
|
|
@@ -491,7 +472,6 @@ if __name__ == "__main__":
|
|
|
491
472
|
help="Load instrument polarization calibration from previously saved run",
|
|
492
473
|
action="store_true",
|
|
493
474
|
)
|
|
494
|
-
parser.add_argument("-A", "--use-apm", help="Send APM spans to SIM", action="store_true")
|
|
495
475
|
parser.add_argument(
|
|
496
476
|
"-p",
|
|
497
477
|
"--param-path",
|
|
@@ -526,7 +506,6 @@ if __name__ == "__main__":
|
|
|
526
506
|
load_solar=args.load_solar,
|
|
527
507
|
load_wavelength_correction=args.load_wavelength_correction,
|
|
528
508
|
load_inst_pol=args.load_inst_pol,
|
|
529
|
-
use_apm=args.use_apm,
|
|
530
509
|
param_path=Path(args.param_path),
|
|
531
510
|
polarimetric=not args.intensity_only,
|
|
532
511
|
)
|
|
@@ -191,21 +191,6 @@ class ValidateL1Output(CryonirspTaskBase):
|
|
|
191
191
|
spec214_validator.validate(f, extra=False)
|
|
192
192
|
|
|
193
193
|
|
|
194
|
-
def setup_APM_config() -> None:
|
|
195
|
-
mesh_config = {
|
|
196
|
-
"system-monitoring-log-apm": {
|
|
197
|
-
"mesh_address": "system-monitoring-log-apm.service.sim.consul",
|
|
198
|
-
"mesh_port": 8200,
|
|
199
|
-
},
|
|
200
|
-
"automated-processing-scratch-inventory": {"mesh_address": "localhost", "mesh_port": 6379},
|
|
201
|
-
"internal-api-gateway": {"mesh_address": "localhost", "mesh_port": 80},
|
|
202
|
-
}
|
|
203
|
-
apm_options = {"TRANSACTION_MAX_SPANS": 10000}
|
|
204
|
-
os.environ["MESH_CONFIG"] = json.dumps(mesh_config)
|
|
205
|
-
os.environ["ELASTIC_APM_ENABLED"] = "true"
|
|
206
|
-
os.environ["ELASTIC_APM_OTHER_OPTIONS"] = json.dumps(apm_options)
|
|
207
|
-
|
|
208
|
-
|
|
209
194
|
def CI_workflow(
|
|
210
195
|
manual_processing_run: ManualProcessing,
|
|
211
196
|
load_beam_boundaries: bool = False,
|
|
@@ -322,12 +307,9 @@ def main(
|
|
|
322
307
|
load_solar: bool = False,
|
|
323
308
|
load_inst_pol: bool = False,
|
|
324
309
|
load_wavelength_calibration: bool = False,
|
|
325
|
-
use_apm: bool = False,
|
|
326
310
|
param_path: Path = None,
|
|
327
311
|
transfer_trial_data: str | None = None,
|
|
328
312
|
):
|
|
329
|
-
if use_apm:
|
|
330
|
-
setup_APM_config()
|
|
331
313
|
with ManualProcessing(
|
|
332
314
|
workflow_path=Path(scratch_path),
|
|
333
315
|
recipe_run_id=recipe_run_id,
|
|
@@ -573,7 +555,6 @@ if __name__ == "__main__":
|
|
|
573
555
|
help="Load instrument polarization calibration from previously saved run",
|
|
574
556
|
action="store_true",
|
|
575
557
|
)
|
|
576
|
-
parser.add_argument("-A", "--use-apm", help="Send APM spans to SIM", action="store_true")
|
|
577
558
|
parser.add_argument(
|
|
578
559
|
"-p",
|
|
579
560
|
"--param-path",
|
|
@@ -603,7 +584,6 @@ if __name__ == "__main__":
|
|
|
603
584
|
load_solar=args.load_solar,
|
|
604
585
|
load_wavelength_calibration=args.load_wavelength_calibration,
|
|
605
586
|
load_inst_pol=args.load_inst_pol,
|
|
606
|
-
use_apm=args.use_apm,
|
|
607
587
|
param_path=Path(args.param_path),
|
|
608
588
|
transfer_trial_data=args.transfer_trial_data,
|
|
609
589
|
)
|
|
@@ -1275,6 +1275,13 @@ def test_parse_cryonirsp_linearized_data_constants(
|
|
|
1275
1275
|
task.constants._db_dict[CryonirspBudName.grating_constant.value] == 770970.3576216539
|
|
1276
1276
|
) # From `SimpleModulatedHeaders`
|
|
1277
1277
|
|
|
1278
|
+
assert task.constants._db_dict["CAMERA_NAME"] == "camera_name"
|
|
1279
|
+
assert task.constants._db_dict["DARK_GOS_LEVEL3_STATUS"] == "lamp"
|
|
1280
|
+
assert task.constants._db_dict["SOLAR_GAIN_GOS_LEVEL3_STATUS"] == "clear"
|
|
1281
|
+
assert task.constants._db_dict["DARK_NUM_RAW_FRAMES_PER_FPA"] == 10
|
|
1282
|
+
assert task.constants._db_dict["SOLAR_GAIN_NUM_RAW_FRAMES_PER_FPA"] == 10
|
|
1283
|
+
assert task.constants._db_dict["POLCAL_NUM_RAW_FRAMES_PER_FPA"] == 10
|
|
1284
|
+
|
|
1278
1285
|
|
|
1279
1286
|
@pytest.mark.parametrize("arm_id", ["SP"])
|
|
1280
1287
|
def test_parse_cryonirsp_linearized_data_internal_scan_loops_as_map_scan_and_scan_step(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dkist-processing-cryonirsp
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.14.1rc1
|
|
4
4
|
Summary: Science processing code for the Cryo-NIRSP instrument on DKIST
|
|
5
5
|
Author-email: NSO / AURA <dkistdc@nso.edu>
|
|
6
6
|
License: BSD-3-Clause
|
|
@@ -17,12 +17,12 @@ Requires-Dist: Pillow==10.4.0
|
|
|
17
17
|
Requires-Dist: astropy==7.0.2
|
|
18
18
|
Requires-Dist: dkist-fits-specifications==4.17.0
|
|
19
19
|
Requires-Dist: dkist-header-validator==5.2.1
|
|
20
|
-
Requires-Dist: dkist-processing-common==11.
|
|
20
|
+
Requires-Dist: dkist-processing-common==11.7.0rc4
|
|
21
21
|
Requires-Dist: dkist-processing-math==2.2.1
|
|
22
22
|
Requires-Dist: dkist-processing-pac==3.1.1
|
|
23
23
|
Requires-Dist: dkist-spectral-lines==3.0.0
|
|
24
24
|
Requires-Dist: largestinteriorrectangle==0.2.1
|
|
25
|
-
Requires-Dist: dkist-service-configuration==
|
|
25
|
+
Requires-Dist: dkist-service-configuration==4.1.7
|
|
26
26
|
Requires-Dist: moviepy==2.1.2
|
|
27
27
|
Requires-Dist: numba==0.61.2
|
|
28
28
|
Requires-Dist: numpy==2.2.5
|
|
@@ -70,65 +70,66 @@ Requires-Dist: Flask-AppBuilder==4.5.3; extra == "frozen"
|
|
|
70
70
|
Requires-Dist: Flask-Babel==2.0.0; extra == "frozen"
|
|
71
71
|
Requires-Dist: Flask-Caching==2.3.1; extra == "frozen"
|
|
72
72
|
Requires-Dist: Flask-JWT-Extended==4.7.1; extra == "frozen"
|
|
73
|
-
Requires-Dist: Flask-Limiter==3.
|
|
73
|
+
Requires-Dist: Flask-Limiter==3.12; extra == "frozen"
|
|
74
74
|
Requires-Dist: Flask-Login==0.6.3; extra == "frozen"
|
|
75
75
|
Requires-Dist: Flask-SQLAlchemy==2.5.1; extra == "frozen"
|
|
76
76
|
Requires-Dist: Flask-Session==0.5.0; extra == "frozen"
|
|
77
77
|
Requires-Dist: Flask-WTF==1.2.2; extra == "frozen"
|
|
78
78
|
Requires-Dist: Jinja2==3.1.6; extra == "frozen"
|
|
79
79
|
Requires-Dist: Mako==1.3.10; extra == "frozen"
|
|
80
|
-
Requires-Dist: MarkupSafe==3.0.
|
|
80
|
+
Requires-Dist: MarkupSafe==3.0.3; extra == "frozen"
|
|
81
81
|
Requires-Dist: PeakUtils==1.3.5; extra == "frozen"
|
|
82
82
|
Requires-Dist: PyJWT==2.10.1; extra == "frozen"
|
|
83
|
-
Requires-Dist: PyYAML==6.0.
|
|
83
|
+
Requires-Dist: PyYAML==6.0.3; extra == "frozen"
|
|
84
84
|
Requires-Dist: Pygments==2.19.2; extra == "frozen"
|
|
85
85
|
Requires-Dist: SQLAlchemy==1.4.54; extra == "frozen"
|
|
86
86
|
Requires-Dist: SQLAlchemy-JSONField==1.0.2; extra == "frozen"
|
|
87
87
|
Requires-Dist: SQLAlchemy-Utils==0.42.0; extra == "frozen"
|
|
88
88
|
Requires-Dist: WTForms==3.2.1; extra == "frozen"
|
|
89
89
|
Requires-Dist: Werkzeug==2.2.3; extra == "frozen"
|
|
90
|
-
Requires-Dist: aioftp==0.
|
|
90
|
+
Requires-Dist: aioftp==0.27.2; extra == "frozen"
|
|
91
91
|
Requires-Dist: aiohappyeyeballs==2.6.1; extra == "frozen"
|
|
92
|
-
Requires-Dist: aiohttp==3.
|
|
92
|
+
Requires-Dist: aiohttp==3.13.0; extra == "frozen"
|
|
93
93
|
Requires-Dist: aiosignal==1.4.0; extra == "frozen"
|
|
94
|
+
Requires-Dist: aiosmtplib==4.0.2; extra == "frozen"
|
|
94
95
|
Requires-Dist: alembic==1.16.5; extra == "frozen"
|
|
95
96
|
Requires-Dist: amqp==5.3.1; extra == "frozen"
|
|
96
97
|
Requires-Dist: annotated-types==0.7.0; extra == "frozen"
|
|
97
|
-
Requires-Dist: anyio==4.
|
|
98
|
+
Requires-Dist: anyio==4.11.0; extra == "frozen"
|
|
98
99
|
Requires-Dist: apache-airflow==2.11.0; extra == "frozen"
|
|
99
100
|
Requires-Dist: apache-airflow-providers-celery==3.10.0; extra == "frozen"
|
|
100
|
-
Requires-Dist: apache-airflow-providers-common-compat==1.7.
|
|
101
|
-
Requires-Dist: apache-airflow-providers-common-io==1.6.
|
|
102
|
-
Requires-Dist: apache-airflow-providers-common-sql==1.28.
|
|
101
|
+
Requires-Dist: apache-airflow-providers-common-compat==1.7.4; extra == "frozen"
|
|
102
|
+
Requires-Dist: apache-airflow-providers-common-io==1.6.3; extra == "frozen"
|
|
103
|
+
Requires-Dist: apache-airflow-providers-common-sql==1.28.1; extra == "frozen"
|
|
103
104
|
Requires-Dist: apache-airflow-providers-fab==1.5.3; extra == "frozen"
|
|
104
105
|
Requires-Dist: apache-airflow-providers-ftp==3.13.2; extra == "frozen"
|
|
105
106
|
Requires-Dist: apache-airflow-providers-http==5.3.4; extra == "frozen"
|
|
106
107
|
Requires-Dist: apache-airflow-providers-imap==3.9.2; extra == "frozen"
|
|
107
108
|
Requires-Dist: apache-airflow-providers-postgres==6.3.0; extra == "frozen"
|
|
108
|
-
Requires-Dist: apache-airflow-providers-smtp==2.
|
|
109
|
+
Requires-Dist: apache-airflow-providers-smtp==2.3.1; extra == "frozen"
|
|
109
110
|
Requires-Dist: apache-airflow-providers-sqlite==4.1.2; extra == "frozen"
|
|
110
|
-
Requires-Dist: apispec==6.8.
|
|
111
|
+
Requires-Dist: apispec==6.8.4; extra == "frozen"
|
|
111
112
|
Requires-Dist: argcomplete==3.6.2; extra == "frozen"
|
|
112
113
|
Requires-Dist: asdf==3.5.0; extra == "frozen"
|
|
113
114
|
Requires-Dist: asdf_standard==1.4.0; extra == "frozen"
|
|
114
115
|
Requires-Dist: asdf_transform_schemas==0.6.0; extra == "frozen"
|
|
115
|
-
Requires-Dist: asgiref==3.
|
|
116
|
+
Requires-Dist: asgiref==3.10.0; extra == "frozen"
|
|
116
117
|
Requires-Dist: asteval==1.0.6; extra == "frozen"
|
|
117
118
|
Requires-Dist: astropy==7.0.2; extra == "frozen"
|
|
118
|
-
Requires-Dist: astropy-iers-data==0.2025.
|
|
119
|
+
Requires-Dist: astropy-iers-data==0.2025.10.6.0.35.25; extra == "frozen"
|
|
119
120
|
Requires-Dist: asyncpg==0.30.0; extra == "frozen"
|
|
120
|
-
Requires-Dist: attrs==25.
|
|
121
|
+
Requires-Dist: attrs==25.4.0; extra == "frozen"
|
|
121
122
|
Requires-Dist: babel==2.17.0; extra == "frozen"
|
|
122
|
-
Requires-Dist: billiard==4.2.
|
|
123
|
+
Requires-Dist: billiard==4.2.2; extra == "frozen"
|
|
123
124
|
Requires-Dist: blinker==1.9.0; extra == "frozen"
|
|
124
|
-
Requires-Dist: boto3==1.40.
|
|
125
|
-
Requires-Dist: botocore==1.40.
|
|
125
|
+
Requires-Dist: boto3==1.40.46; extra == "frozen"
|
|
126
|
+
Requires-Dist: botocore==1.40.46; extra == "frozen"
|
|
126
127
|
Requires-Dist: cachelib==0.13.0; extra == "frozen"
|
|
127
128
|
Requires-Dist: celery==5.3.1; extra == "frozen"
|
|
128
|
-
Requires-Dist: certifi==2025.
|
|
129
|
+
Requires-Dist: certifi==2025.10.5; extra == "frozen"
|
|
129
130
|
Requires-Dist: cffi==2.0.0; extra == "frozen"
|
|
130
131
|
Requires-Dist: charset-normalizer==3.4.3; extra == "frozen"
|
|
131
|
-
Requires-Dist: click==8.
|
|
132
|
+
Requires-Dist: click==8.3.0; extra == "frozen"
|
|
132
133
|
Requires-Dist: click-didyoumean==0.3.1; extra == "frozen"
|
|
133
134
|
Requires-Dist: click-plugins==1.1.1.2; extra == "frozen"
|
|
134
135
|
Requires-Dist: click-repl==0.3.0; extra == "frozen"
|
|
@@ -139,34 +140,33 @@ Requires-Dist: connexion==2.14.2; extra == "frozen"
|
|
|
139
140
|
Requires-Dist: contourpy==1.3.3; extra == "frozen"
|
|
140
141
|
Requires-Dist: cron_descriptor==2.0.6; extra == "frozen"
|
|
141
142
|
Requires-Dist: croniter==6.0.0; extra == "frozen"
|
|
142
|
-
Requires-Dist: cryptography==46.0.
|
|
143
|
+
Requires-Dist: cryptography==46.0.2; extra == "frozen"
|
|
143
144
|
Requires-Dist: cycler==0.12.1; extra == "frozen"
|
|
144
145
|
Requires-Dist: dacite==1.9.2; extra == "frozen"
|
|
145
146
|
Requires-Dist: decorator==5.2.1; extra == "frozen"
|
|
146
147
|
Requires-Dist: dill==0.4.0; extra == "frozen"
|
|
147
148
|
Requires-Dist: dkist-header-validator==5.2.1; extra == "frozen"
|
|
148
|
-
Requires-Dist: dkist-processing-common==11.
|
|
149
|
-
Requires-Dist: dkist-processing-core==
|
|
150
|
-
Requires-Dist: dkist-processing-cryonirsp==1.
|
|
149
|
+
Requires-Dist: dkist-processing-common==11.7.0rc4; extra == "frozen"
|
|
150
|
+
Requires-Dist: dkist-processing-core==6.0.0; extra == "frozen"
|
|
151
|
+
Requires-Dist: dkist-processing-cryonirsp==1.14.1rc1; extra == "frozen"
|
|
151
152
|
Requires-Dist: dkist-processing-math==2.2.1; extra == "frozen"
|
|
152
153
|
Requires-Dist: dkist-processing-pac==3.1.1; extra == "frozen"
|
|
153
|
-
Requires-Dist: dkist-service-configuration==
|
|
154
|
+
Requires-Dist: dkist-service-configuration==4.1.7; extra == "frozen"
|
|
154
155
|
Requires-Dist: dkist-spectral-lines==3.0.0; extra == "frozen"
|
|
155
156
|
Requires-Dist: dkist_fits_specifications==4.17.0; extra == "frozen"
|
|
156
157
|
Requires-Dist: dnspython==2.8.0; extra == "frozen"
|
|
157
|
-
Requires-Dist: ecs-logging==2.2.0; extra == "frozen"
|
|
158
|
-
Requires-Dist: elastic-apm==6.24.0; extra == "frozen"
|
|
159
158
|
Requires-Dist: email-validator==2.3.0; extra == "frozen"
|
|
160
159
|
Requires-Dist: fastjsonschema==2.21.2; extra == "frozen"
|
|
161
160
|
Requires-Dist: flower==2.0.1; extra == "frozen"
|
|
162
|
-
Requires-Dist: fonttools==4.60.
|
|
163
|
-
Requires-Dist: frozenlist==1.
|
|
161
|
+
Requires-Dist: fonttools==4.60.1; extra == "frozen"
|
|
162
|
+
Requires-Dist: frozenlist==1.8.0; extra == "frozen"
|
|
164
163
|
Requires-Dist: fsspec==2025.9.0; extra == "frozen"
|
|
165
|
-
Requires-Dist: globus-sdk==3.
|
|
164
|
+
Requires-Dist: globus-sdk==3.65.0; extra == "frozen"
|
|
166
165
|
Requires-Dist: google-re2==1.1.20250805; extra == "frozen"
|
|
167
166
|
Requires-Dist: googleapis-common-protos==1.70.0; extra == "frozen"
|
|
168
167
|
Requires-Dist: gqlclient==1.2.3; extra == "frozen"
|
|
169
|
-
Requires-Dist:
|
|
168
|
+
Requires-Dist: greenlet==3.2.4; extra == "frozen"
|
|
169
|
+
Requires-Dist: grpcio==1.75.1; extra == "frozen"
|
|
170
170
|
Requires-Dist: gunicorn==23.0.0; extra == "frozen"
|
|
171
171
|
Requires-Dist: h11==0.16.0; extra == "frozen"
|
|
172
172
|
Requires-Dist: httpcore==1.0.9; extra == "frozen"
|
|
@@ -187,7 +187,7 @@ Requires-Dist: kombu==5.5.4; extra == "frozen"
|
|
|
187
187
|
Requires-Dist: largestinteriorrectangle==0.2.1; extra == "frozen"
|
|
188
188
|
Requires-Dist: lazy-object-proxy==1.12.0; extra == "frozen"
|
|
189
189
|
Requires-Dist: lazy_loader==0.4; extra == "frozen"
|
|
190
|
-
Requires-Dist: limits==5.
|
|
190
|
+
Requires-Dist: limits==5.6.0; extra == "frozen"
|
|
191
191
|
Requires-Dist: linkify-it-py==2.0.3; extra == "frozen"
|
|
192
192
|
Requires-Dist: llvmlite==0.44.0; extra == "frozen"
|
|
193
193
|
Requires-Dist: lmfit==1.3.4; extra == "frozen"
|
|
@@ -203,7 +203,7 @@ Requires-Dist: mdurl==0.1.2; extra == "frozen"
|
|
|
203
203
|
Requires-Dist: methodtools==0.4.7; extra == "frozen"
|
|
204
204
|
Requires-Dist: more-itertools==10.8.0; extra == "frozen"
|
|
205
205
|
Requires-Dist: moviepy==2.1.2; extra == "frozen"
|
|
206
|
-
Requires-Dist: multidict==6.
|
|
206
|
+
Requires-Dist: multidict==6.7.0; extra == "frozen"
|
|
207
207
|
Requires-Dist: nbformat==5.10.4; extra == "frozen"
|
|
208
208
|
Requires-Dist: networkx==3.5; extra == "frozen"
|
|
209
209
|
Requires-Dist: numba==0.61.2; extra == "frozen"
|
|
@@ -214,13 +214,30 @@ Requires-Dist: opentelemetry-exporter-otlp==1.37.0; extra == "frozen"
|
|
|
214
214
|
Requires-Dist: opentelemetry-exporter-otlp-proto-common==1.37.0; extra == "frozen"
|
|
215
215
|
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc==1.37.0; extra == "frozen"
|
|
216
216
|
Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.37.0; extra == "frozen"
|
|
217
|
+
Requires-Dist: opentelemetry-instrumentation==0.58b0; extra == "frozen"
|
|
218
|
+
Requires-Dist: opentelemetry-instrumentation-aiohttp-client==0.58b0; extra == "frozen"
|
|
219
|
+
Requires-Dist: opentelemetry-instrumentation-asgi==0.58b0; extra == "frozen"
|
|
220
|
+
Requires-Dist: opentelemetry-instrumentation-botocore==0.58b0; extra == "frozen"
|
|
221
|
+
Requires-Dist: opentelemetry-instrumentation-celery==0.58b0; extra == "frozen"
|
|
222
|
+
Requires-Dist: opentelemetry-instrumentation-dbapi==0.58b0; extra == "frozen"
|
|
223
|
+
Requires-Dist: opentelemetry-instrumentation-fastapi==0.58b0; extra == "frozen"
|
|
224
|
+
Requires-Dist: opentelemetry-instrumentation-pika==0.58b0; extra == "frozen"
|
|
225
|
+
Requires-Dist: opentelemetry-instrumentation-psycopg2==0.58b0; extra == "frozen"
|
|
226
|
+
Requires-Dist: opentelemetry-instrumentation-pymongo==0.58b0; extra == "frozen"
|
|
227
|
+
Requires-Dist: opentelemetry-instrumentation-redis==0.58b0; extra == "frozen"
|
|
228
|
+
Requires-Dist: opentelemetry-instrumentation-requests==0.58b0; extra == "frozen"
|
|
229
|
+
Requires-Dist: opentelemetry-instrumentation-sqlalchemy==0.58b0; extra == "frozen"
|
|
230
|
+
Requires-Dist: opentelemetry-instrumentation-system-metrics==0.58b0; extra == "frozen"
|
|
231
|
+
Requires-Dist: opentelemetry-propagator-aws-xray==1.0.2; extra == "frozen"
|
|
217
232
|
Requires-Dist: opentelemetry-proto==1.37.0; extra == "frozen"
|
|
218
233
|
Requires-Dist: opentelemetry-sdk==1.37.0; extra == "frozen"
|
|
219
234
|
Requires-Dist: opentelemetry-semantic-conventions==0.58b0; extra == "frozen"
|
|
235
|
+
Requires-Dist: opentelemetry-util-http==0.58b0; extra == "frozen"
|
|
220
236
|
Requires-Dist: ordered-set==4.1.0; extra == "frozen"
|
|
221
237
|
Requires-Dist: packaging==25.0; extra == "frozen"
|
|
222
|
-
Requires-Dist: pandas==2.3.
|
|
238
|
+
Requires-Dist: pandas==2.3.3; extra == "frozen"
|
|
223
239
|
Requires-Dist: parfive==2.2.0; extra == "frozen"
|
|
240
|
+
Requires-Dist: pathlib_abc==0.5.1; extra == "frozen"
|
|
224
241
|
Requires-Dist: pathspec==0.12.1; extra == "frozen"
|
|
225
242
|
Requires-Dist: pendulum==3.1.0; extra == "frozen"
|
|
226
243
|
Requires-Dist: pika==1.3.2; extra == "frozen"
|
|
@@ -231,18 +248,18 @@ Requires-Dist: pluggy==1.6.0; extra == "frozen"
|
|
|
231
248
|
Requires-Dist: pooch==1.8.2; extra == "frozen"
|
|
232
249
|
Requires-Dist: prison==0.2.1; extra == "frozen"
|
|
233
250
|
Requires-Dist: proglog==0.1.12; extra == "frozen"
|
|
234
|
-
Requires-Dist: prometheus_client==0.
|
|
251
|
+
Requires-Dist: prometheus_client==0.23.1; extra == "frozen"
|
|
235
252
|
Requires-Dist: prompt_toolkit==3.0.52; extra == "frozen"
|
|
236
|
-
Requires-Dist: propcache==0.
|
|
253
|
+
Requires-Dist: propcache==0.4.0; extra == "frozen"
|
|
237
254
|
Requires-Dist: protobuf==6.32.1; extra == "frozen"
|
|
238
|
-
Requires-Dist: psutil==7.
|
|
255
|
+
Requires-Dist: psutil==7.1.0; extra == "frozen"
|
|
239
256
|
Requires-Dist: psycopg2-binary==2.9.10; extra == "frozen"
|
|
240
257
|
Requires-Dist: pycparser==2.23; extra == "frozen"
|
|
241
|
-
Requires-Dist: pydantic==2.
|
|
242
|
-
Requires-Dist: pydantic-settings==2.
|
|
243
|
-
Requires-Dist: pydantic_core==2.
|
|
258
|
+
Requires-Dist: pydantic==2.12.0; extra == "frozen"
|
|
259
|
+
Requires-Dist: pydantic-settings==2.11.0; extra == "frozen"
|
|
260
|
+
Requires-Dist: pydantic_core==2.41.1; extra == "frozen"
|
|
244
261
|
Requires-Dist: pyerfa==2.0.1.5; extra == "frozen"
|
|
245
|
-
Requires-Dist: pyparsing==3.2.
|
|
262
|
+
Requires-Dist: pyparsing==3.2.5; extra == "frozen"
|
|
246
263
|
Requires-Dist: python-daemon==3.1.2; extra == "frozen"
|
|
247
264
|
Requires-Dist: python-dateutil==2.9.0.post0; extra == "frozen"
|
|
248
265
|
Requires-Dist: python-dotenv==1.1.1; extra == "frozen"
|
|
@@ -254,7 +271,7 @@ Requires-Dist: referencing==0.36.2; extra == "frozen"
|
|
|
254
271
|
Requires-Dist: requests==2.32.5; extra == "frozen"
|
|
255
272
|
Requires-Dist: requests-toolbelt==1.0.0; extra == "frozen"
|
|
256
273
|
Requires-Dist: rfc3339-validator==0.1.4; extra == "frozen"
|
|
257
|
-
Requires-Dist: rich==
|
|
274
|
+
Requires-Dist: rich==13.9.4; extra == "frozen"
|
|
258
275
|
Requires-Dist: rich-argparse==1.7.1; extra == "frozen"
|
|
259
276
|
Requires-Dist: rpds-py==0.27.1; extra == "frozen"
|
|
260
277
|
Requires-Dist: s3transfer==0.14.0; extra == "frozen"
|
|
@@ -273,24 +290,24 @@ Requires-Dist: talus==1.3.4; extra == "frozen"
|
|
|
273
290
|
Requires-Dist: tenacity==8.5.0; extra == "frozen"
|
|
274
291
|
Requires-Dist: termcolor==3.1.0; extra == "frozen"
|
|
275
292
|
Requires-Dist: text-unidecode==1.3; extra == "frozen"
|
|
276
|
-
Requires-Dist: tifffile==2025.
|
|
293
|
+
Requires-Dist: tifffile==2025.10.4; extra == "frozen"
|
|
277
294
|
Requires-Dist: tornado==6.5.2; extra == "frozen"
|
|
278
295
|
Requires-Dist: tqdm==4.67.1; extra == "frozen"
|
|
279
296
|
Requires-Dist: traitlets==5.14.3; extra == "frozen"
|
|
280
|
-
Requires-Dist: typing-inspection==0.4.
|
|
297
|
+
Requires-Dist: typing-inspection==0.4.2; extra == "frozen"
|
|
281
298
|
Requires-Dist: typing_extensions==4.15.0; extra == "frozen"
|
|
282
299
|
Requires-Dist: tzdata==2025.2; extra == "frozen"
|
|
283
300
|
Requires-Dist: uc-micro-py==1.0.3; extra == "frozen"
|
|
284
301
|
Requires-Dist: uncertainties==3.2.3; extra == "frozen"
|
|
285
|
-
Requires-Dist: universal_pathlib==0.2
|
|
302
|
+
Requires-Dist: universal_pathlib==0.3.2; extra == "frozen"
|
|
286
303
|
Requires-Dist: urllib3==2.5.0; extra == "frozen"
|
|
287
304
|
Requires-Dist: vine==5.1.0; extra == "frozen"
|
|
288
305
|
Requires-Dist: voluptuous==0.15.2; extra == "frozen"
|
|
289
|
-
Requires-Dist: wcwidth==0.2.
|
|
306
|
+
Requires-Dist: wcwidth==0.2.14; extra == "frozen"
|
|
290
307
|
Requires-Dist: wirerope==1.0.0; extra == "frozen"
|
|
291
308
|
Requires-Dist: wrapt==1.17.3; extra == "frozen"
|
|
292
309
|
Requires-Dist: yamale==6.0.0; extra == "frozen"
|
|
293
|
-
Requires-Dist: yarl==1.
|
|
310
|
+
Requires-Dist: yarl==1.22.0; extra == "frozen"
|
|
294
311
|
Requires-Dist: zipp==3.23.0; extra == "frozen"
|
|
295
312
|
|
|
296
313
|
dkist-processing-cryonirsp
|
|
@@ -309,7 +326,83 @@ in their own package facilitates using the build_utils to test the integrity of
|
|
|
309
326
|
|
|
310
327
|
Environment Variables
|
|
311
328
|
---------------------
|
|
312
|
-
|
|
329
|
+
|
|
330
|
+
.. list-table::
|
|
331
|
+
:widths: 10 90
|
|
332
|
+
:header-rows: 1
|
|
333
|
+
|
|
334
|
+
* - Variable
|
|
335
|
+
- Field Info
|
|
336
|
+
* - LOGURU_LEVEL
|
|
337
|
+
- annotation=str required=False default='INFO' alias_priority=2 validation_alias='LOGURU_LEVEL' description='Log level for the application'
|
|
338
|
+
* - MESH_CONFIG
|
|
339
|
+
- annotation=dict[str, MeshService] required=False default_factory=dict alias_priority=2 validation_alias='MESH_CONFIG' description='Service mesh configuration' examples=[{'upstream_service_name': {'mesh_address': 'localhost', 'mesh_port': 6742}}]
|
|
340
|
+
* - RETRY_CONFIG
|
|
341
|
+
- annotation=RetryConfig required=False default_factory=RetryConfig description='Retry configuration for the service'
|
|
342
|
+
* - OTEL_SERVICE_NAME
|
|
343
|
+
- annotation=str required=False default='unknown-service-name' alias_priority=2 validation_alias='OTEL_SERVICE_NAME' description='Service name for OpenTelemetry'
|
|
344
|
+
* - DKIST_SERVICE_VERSION
|
|
345
|
+
- annotation=str required=False default='unknown-service-version' alias_priority=2 validation_alias='DKIST_SERVICE_VERSION' description='Service version for OpenTelemetry'
|
|
346
|
+
* - NOMAD_ALLOC_ID
|
|
347
|
+
- annotation=str required=False default='unknown-allocation-id' alias_priority=2 validation_alias='NOMAD_ALLOC_ID' description='Nomad allocation ID for OpenTelemetry'
|
|
348
|
+
* - OTEL_EXPORTER_OTLP_TRACES_INSECURE
|
|
349
|
+
- annotation=bool required=False default=True description='Use insecure connection for OTLP traces'
|
|
350
|
+
* - OTEL_EXPORTER_OTLP_METRICS_INSECURE
|
|
351
|
+
- annotation=bool required=False default=True description='Use insecure connection for OTLP metrics'
|
|
352
|
+
* - OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
|
|
353
|
+
- annotation=Union[str, NoneType] required=False default=None description='OTLP traces endpoint. Overrides mesh configuration' examples=['localhost:4317']
|
|
354
|
+
* - OTEL_EXPORTER_OTLP_METRICS_ENDPOINT
|
|
355
|
+
- annotation=Union[str, NoneType] required=False default=None description='OTLP metrics endpoint. Overrides mesh configuration' examples=['localhost:4317']
|
|
356
|
+
* - OTEL_PYTHON_DISABLED_INSTRUMENTATIONS
|
|
357
|
+
- annotation=list[str] required=False default_factory=list description='List of instrumentations to disable. https://opentelemetry.io/docs/zero-code/python/configuration/' examples=[['pika', 'requests']]
|
|
358
|
+
* - OTEL_PYTHON_FASTAPI_EXCLUDED_URLS
|
|
359
|
+
- annotation=str required=False default='health' description='Comma separated list of URLs to exclude from OpenTelemetry instrumentation in FastAPI.' examples=['client/.*/info,healthcheck']
|
|
360
|
+
* - SYSTEM_METRIC_INSTRUMENTATION_CONFIG
|
|
361
|
+
- annotation=Union[dict[str, bool], NoneType] required=False default=None description='Configuration for system metric instrumentation. https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/system_metrics/system_metrics.html' examples=[{'system.memory.usage': ['used', 'free', 'cached'], 'system.cpu.time': ['idle', 'user', 'system', 'irq'], 'system.network.io': ['transmit', 'receive'], 'process.runtime.memory': ['rss', 'vms'], 'process.runtime.cpu.time': ['user', 'system'], 'process.runtime.context_switches': ['involuntary', 'voluntary']}]
|
|
362
|
+
* - ISB_USERNAME
|
|
363
|
+
- annotation=str required=False default='guest' description='Username for the interservice-bus.'
|
|
364
|
+
* - ISB_PASSWORD
|
|
365
|
+
- annotation=str required=False default='guest' description='Password for the interservice-bus.'
|
|
366
|
+
* - ISB_EXCHANGE
|
|
367
|
+
- annotation=str required=False default='master.direct.x' description='Exchange for the interservice-bus.'
|
|
368
|
+
* - ISB_QUEUE_TYPE
|
|
369
|
+
- annotation=str required=False default='classic' description='Queue type for the interservice-bus.' examples=['quorum', 'classic']
|
|
370
|
+
* - BUILD_VERSION
|
|
371
|
+
- annotation=str required=False default='dev' description='Fallback build version for workflow tasks.'
|
|
372
|
+
* - GQL_AUTH_TOKEN
|
|
373
|
+
- annotation=Union[str, NoneType] required=False default='dev' description='The auth token for the metadata-store-api.'
|
|
374
|
+
* - OBJECT_STORE_ACCESS_KEY
|
|
375
|
+
- annotation=Union[str, NoneType] required=False default=None description='The access key for the object store.'
|
|
376
|
+
* - OBJECT_STORE_SECRET_KEY
|
|
377
|
+
- annotation=Union[str, NoneType] required=False default=None description='The secret key for the object store.'
|
|
378
|
+
* - OBJECT_STORE_USE_SSL
|
|
379
|
+
- annotation=bool required=False default=False description='Whether to use SSL for the object store connection.'
|
|
380
|
+
* - MULTIPART_THRESHOLD
|
|
381
|
+
- annotation=Union[int, NoneType] required=False default=None description='Multipart threshold for the object store.'
|
|
382
|
+
* - S3_CLIENT_CONFIG
|
|
383
|
+
- annotation=Union[dict, NoneType] required=False default=None description='S3 client configuration for the object store.'
|
|
384
|
+
* - S3_UPLOAD_CONFIG
|
|
385
|
+
- annotation=Union[dict, NoneType] required=False default=None description='S3 upload configuration for the object store.'
|
|
386
|
+
* - S3_DOWNLOAD_CONFIG
|
|
387
|
+
- annotation=Union[dict, NoneType] required=False default=None description='S3 download configuration for the object store.'
|
|
388
|
+
* - GLOBUS_TRANSPORT_PARAMS
|
|
389
|
+
- annotation=dict required=False default_factory=dict description='Globus transfer parameters.'
|
|
390
|
+
* - GLOBUS_CLIENT_ID
|
|
391
|
+
- annotation=Union[str, NoneType] required=False default=None description='Globus client ID for inbound/outbound transfers.'
|
|
392
|
+
* - GLOBUS_CLIENT_SECRET
|
|
393
|
+
- annotation=Union[str, NoneType] required=False default=None description='Globus client secret for inbound/outbound transfers.'
|
|
394
|
+
* - OBJECT_STORE_ENDPOINT
|
|
395
|
+
- annotation=Union[str, NoneType] required=False default=None description='Object store Globus Endpoint ID.'
|
|
396
|
+
* - SCRATCH_ENDPOINT
|
|
397
|
+
- annotation=Union[str, NoneType] required=False default=None description='Scratch Globus Endpoint ID.'
|
|
398
|
+
* - SCRATCH_BASE_PATH
|
|
399
|
+
- annotation=str required=False default='scratch/' description='Base path for scratch storage.'
|
|
400
|
+
* - SCRATCH_INVENTORY_DB_COUNT
|
|
401
|
+
- annotation=int required=False default=16 description='Number of databases in the scratch inventory (redis).'
|
|
402
|
+
* - DOCS_BASE_URL
|
|
403
|
+
- annotation=str required=False default='my_test_url' description='Base URL for the documentation site.'
|
|
404
|
+
* - FTS_ATLAS_DATA_DIR
|
|
405
|
+
- annotation=Union[str, NoneType] required=False default=None description='Common cached directory for a downloaded FTS Atlas.'
|
|
313
406
|
|
|
314
407
|
Development
|
|
315
408
|
-----------
|