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.

@@ -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.13.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.5.1
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==2.2
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.13; extra == "frozen"
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.2; extra == "frozen"
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.2; extra == "frozen"
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.26.2; extra == "frozen"
90
+ Requires-Dist: aioftp==0.27.2; extra == "frozen"
91
91
  Requires-Dist: aiohappyeyeballs==2.6.1; extra == "frozen"
92
- Requires-Dist: aiohttp==3.12.15; extra == "frozen"
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.10.0; extra == "frozen"
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.3; extra == "frozen"
101
- Requires-Dist: apache-airflow-providers-common-io==1.6.2; extra == "frozen"
102
- Requires-Dist: apache-airflow-providers-common-sql==1.28.0; extra == "frozen"
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.2.1; extra == "frozen"
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.3; extra == "frozen"
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.9.1; extra == "frozen"
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.9.15.0.37.0; extra == "frozen"
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.3.0; extra == "frozen"
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.1; extra == "frozen"
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.32; extra == "frozen"
125
- Requires-Dist: botocore==1.40.32; extra == "frozen"
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.8.3; extra == "frozen"
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.2.1; extra == "frozen"
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.1; extra == "frozen"
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.5.1; extra == "frozen"
149
- Requires-Dist: dkist-processing-core==5.2.1; extra == "frozen"
150
- Requires-Dist: dkist-processing-cryonirsp==1.13.1; extra == "frozen"
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==2.2; extra == "frozen"
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.0; extra == "frozen"
163
- Requires-Dist: frozenlist==1.7.0; extra == "frozen"
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.63.0; extra == "frozen"
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: grpcio==1.75.0; extra == "frozen"
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.5.0; extra == "frozen"
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.6.4; extra == "frozen"
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.2; extra == "frozen"
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.22.1; extra == "frozen"
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.3.2; extra == "frozen"
253
+ Requires-Dist: propcache==0.4.0; extra == "frozen"
237
254
  Requires-Dist: protobuf==6.32.1; extra == "frozen"
238
- Requires-Dist: psutil==7.0.0; extra == "frozen"
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.11.9; extra == "frozen"
242
- Requires-Dist: pydantic-settings==2.10.1; extra == "frozen"
243
- Requires-Dist: pydantic_core==2.33.2; extra == "frozen"
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.4; extra == "frozen"
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==14.1.0; extra == "frozen"
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.9.9; extra == "frozen"
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.1; extra == "frozen"
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.6; extra == "frozen"
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.13; extra == "frozen"
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.20.1; extra == "frozen"
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
- Only those specified by `dkist-processing-core <https://pypi.org/project/dkist-processing-core/>`_ and `dkist-processing-common <https://pypi.org/project/dkist-processing-common/>`_.
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
  -----------