dkist-processing-vbi 1.25.1rc3__py3-none-any.whl → 1.25.3__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.
@@ -0,0 +1,13 @@
1
+ """VBI control of FITS key names and values."""
2
+
3
+ from enum import StrEnum
4
+
5
+
6
+ class VbiMetadataKey(StrEnum):
7
+ """Controlled list of names for FITS metadata header keys."""
8
+
9
+ spatial_step_pattern = "VBISTPAT"
10
+ number_of_spatial_steps = "VBINSTP"
11
+ current_spatial_step = "VBISTP"
12
+ number_of_exp_per_mosaic_step = "VBINFRAM"
13
+ current_mosaic_step_exp = "VBICFRAM"
@@ -4,6 +4,7 @@ from dkist_processing_common.models.task_name import TaskName
4
4
  from dkist_processing_common.parsers.unique_bud import TaskUniqueBud
5
5
 
6
6
  from dkist_processing_vbi.models.constants import VbiBudName
7
+ from dkist_processing_vbi.models.fits_access import VbiMetadataKey
7
8
 
8
9
 
9
10
  class SpatialStepPatternBud(TaskUniqueBud):
@@ -23,7 +24,7 @@ class SpatialStepPatternBud(TaskUniqueBud):
23
24
  def __init__(self):
24
25
  super().__init__(
25
26
  constant_name=VbiBudName.spatial_step_pattern.value,
26
- metadata_key="spatial_step_pattern",
27
+ metadata_key=VbiMetadataKey.spatial_step_pattern,
27
28
  ip_task_types=TaskName.observe.value,
28
29
  )
29
30
 
@@ -3,6 +3,8 @@
3
3
  from astropy.io import fits
4
4
  from dkist_processing_common.parsers.l0_fits_access import L0FitsAccess
5
5
 
6
+ from dkist_processing_vbi.models.fits_access import VbiMetadataKey
7
+
6
8
 
7
9
  class VbiL0FitsAccess(L0FitsAccess):
8
10
  """
@@ -30,8 +32,10 @@ class VbiL0FitsAccess(L0FitsAccess):
30
32
  ):
31
33
  super().__init__(hdu=hdu, name=name, auto_squeeze=auto_squeeze)
32
34
 
33
- self.spatial_step_pattern: str = self.header["VBISTPAT"]
34
- self.number_of_spatial_steps: int = self.header.get("VBINSTP")
35
- self.current_spatial_step: int = self.header.get("VBISTP")
36
- self.number_of_exp_per_mosaic_step: int = self.header.get("VBINFRAM")
37
- self.current_mosaic_step_exp: int = self.header.get("VBICFRAM")
35
+ self.spatial_step_pattern: str = self.header[VbiMetadataKey.spatial_step_pattern]
36
+ self.number_of_spatial_steps: int = self.header.get(VbiMetadataKey.number_of_spatial_steps)
37
+ self.current_spatial_step: int = self.header.get(VbiMetadataKey.current_spatial_step)
38
+ self.number_of_exp_per_mosaic_step: int = self.header.get(
39
+ VbiMetadataKey.number_of_exp_per_mosaic_step
40
+ )
41
+ self.current_mosaic_step_exp: int = self.header.get(VbiMetadataKey.current_mosaic_step_exp)
@@ -3,6 +3,8 @@
3
3
  from astropy.io import fits
4
4
  from dkist_processing_common.parsers.l1_fits_access import L1FitsAccess
5
5
 
6
+ from dkist_processing_vbi.models.fits_access import VbiMetadataKey
7
+
6
8
 
7
9
  class VbiL1FitsAccess(L1FitsAccess):
8
10
  """
@@ -30,5 +32,5 @@ class VbiL1FitsAccess(L1FitsAccess):
30
32
  ):
31
33
  super().__init__(hdu=hdu, name=name, auto_squeeze=auto_squeeze)
32
34
 
33
- self.number_of_spatial_steps: int = self.header.get("VBINSTP")
34
- self.current_spatial_step: int = self.header.get("VBISTP")
35
+ self.number_of_spatial_steps: int = self.header.get(VbiMetadataKey.number_of_spatial_steps)
36
+ self.current_spatial_step: int = self.header.get(VbiMetadataKey.current_spatial_step)
@@ -1,5 +1,6 @@
1
1
  """VBI parse task."""
2
2
 
3
+ from dkist_processing_common.models.fits_access import MetadataKey
3
4
  from dkist_processing_common.models.tags import StemName
4
5
  from dkist_processing_common.models.task_name import TaskName
5
6
  from dkist_processing_common.parsers.single_value_single_key_flower import (
@@ -13,6 +14,7 @@ from dkist_processing_common.tasks import ParseL0InputDataBase
13
14
  from dkist_processing_common.tasks.parse_l0_input_data import S
14
15
 
15
16
  from dkist_processing_vbi.models.constants import VbiBudName
17
+ from dkist_processing_vbi.models.fits_access import VbiMetadataKey
16
18
  from dkist_processing_vbi.models.tags import VbiStemName
17
19
  from dkist_processing_vbi.parsers.mosaic_repeats import MosaicRepeatNumberFlower
18
20
  from dkist_processing_vbi.parsers.mosaic_repeats import TotalMosaicRepeatsBud
@@ -50,7 +52,7 @@ class ParseL0VbiInputData(ParseL0InputDataBase):
50
52
  return super().constant_buds + [
51
53
  UniqueBud(
52
54
  constant_name=VbiBudName.num_spatial_steps.value,
53
- metadata_key="number_of_spatial_steps",
55
+ metadata_key=VbiMetadataKey.number_of_spatial_steps,
54
56
  ),
55
57
  SpatialStepPatternBud(),
56
58
  ObsIpStartTimeBud(),
@@ -69,10 +71,10 @@ class ParseL0VbiInputData(ParseL0InputDataBase):
69
71
  return super().tag_flowers + [
70
72
  SingleValueSingleKeyFlower(
71
73
  tag_stem_name=VbiStemName.current_spatial_step.value,
72
- metadata_key="current_spatial_step",
74
+ metadata_key=VbiMetadataKey.current_spatial_step,
73
75
  ),
74
76
  SingleValueSingleKeyFlower(
75
- tag_stem_name=StemName.task.value, metadata_key="ip_task_type"
77
+ tag_stem_name=StemName.task.value, metadata_key=MetadataKey.ip_task_type
76
78
  ),
77
79
  MosaicRepeatNumberFlower(),
78
80
  ExposureTimeFlower(),
@@ -9,6 +9,7 @@ from astropy.io import fits
9
9
  from astropy.time import Time
10
10
  from astropy.time import TimeDelta
11
11
  from dkist_processing_common.models.constants import ConstantsBase
12
+ from dkist_processing_common.models.fits_access import MetadataKey
12
13
  from dkist_processing_common.tasks.write_l1 import WavelengthRange
13
14
  from dkist_processing_common.tasks.write_l1 import WriteL1Frame
14
15
  from dkist_service_configuration.logging import logger
@@ -19,6 +20,8 @@ from dkist_processing_vbi.models.filter import find_associated_filter
19
20
 
20
21
  __all__ = ["VbiWriteL1Frame"]
21
22
 
23
+ from dkist_processing_vbi.models.fits_access import VbiMetadataKey
24
+
22
25
 
23
26
  class VbiWriteL1Frame(WriteL1Frame):
24
27
  """
@@ -85,7 +88,7 @@ class VbiWriteL1Frame(WriteL1Frame):
85
88
 
86
89
  # ---Temporal---
87
90
  if self.constants.num_mosaic_repeats > 1:
88
- num_exp_per_dsp = header["VBINFRAM"]
91
+ num_exp_per_dsp = header[VbiMetadataKey.number_of_exp_per_mosaic_step]
89
92
  header["DNAXIS3"] = self.constants.num_mosaic_repeats * num_exp_per_dsp
90
93
  header["DTYPE3"] = "TEMPORAL"
91
94
  header["DPNAME3"] = "time"
@@ -93,7 +96,7 @@ class VbiWriteL1Frame(WriteL1Frame):
93
96
  header["DUNIT3"] = "s"
94
97
  # Temporal position in dataset
95
98
  current_mosaic_number = header["VBICMOSC"]
96
- current_exposure = header["VBICFRAM"]
99
+ current_exposure = header[VbiMetadataKey.current_mosaic_step_exp]
97
100
  header["DINDEX3"] = (current_mosaic_number - 1) * num_exp_per_dsp + current_exposure
98
101
 
99
102
  # ---Wavelength Info---
@@ -101,8 +104,8 @@ class VbiWriteL1Frame(WriteL1Frame):
101
104
  header["WAVEREF"] = "Air"
102
105
 
103
106
  # --- Mosaic ---
104
- number_of_spatial_steps = int(header["VBINSTP"])
105
- current_step = int(header["VBISTP"])
107
+ number_of_spatial_steps = int(header[VbiMetadataKey.number_of_spatial_steps])
108
+ current_step = int(header[VbiMetadataKey.current_spatial_step])
106
109
  if number_of_spatial_steps not in [1, 4, 5, 9]: # not a known number of spatial steps
107
110
  raise ValueError(
108
111
  f"Mosaic grid must be a known configuration (steps in 1, 4, 5, 9). "
@@ -151,7 +154,9 @@ class VbiWriteL1Frame(WriteL1Frame):
151
154
  """
152
155
  return (
153
156
  Time(header["DATE-BEG"], format="isot", precision=6)
154
- + TimeDelta(float(header["TEXPOSUR"]) / 1000, format="sec")
157
+ + TimeDelta(
158
+ float(header[MetadataKey.sensor_readout_exposure_time_ms]) / 1000, format="sec"
159
+ )
155
160
  ).to_value("isot")
156
161
 
157
162
  def get_wavelength_range(self, header: fits.Header) -> WavelengthRange:
@@ -160,7 +165,7 @@ class VbiWriteL1Frame(WriteL1Frame):
160
165
 
161
166
  Range is the wavelengths at the edges of the filter bandpass.
162
167
  """
163
- vbi_filter = find_associated_filter(wavelength=header["LINEWAV"] * u.nm)
168
+ vbi_filter = find_associated_filter(wavelength=header[MetadataKey.wavelength] * u.nm)
164
169
  return WavelengthRange(min=vbi_filter.min, max=vbi_filter.max)
165
170
 
166
171
  def get_waveband(self, wavelength: u.Quantity, wavelength_range: WavelengthRange) -> str:
@@ -0,0 +1,41 @@
1
+ import pytest
2
+ from astropy.io import fits
3
+ from dkist_header_validator import spec122_validator
4
+
5
+ from dkist_processing_vbi.models.fits_access import VbiMetadataKey
6
+ from dkist_processing_vbi.parsers.vbi_l0_fits_access import VbiL0FitsAccess
7
+ from dkist_processing_vbi.parsers.vbi_l1_fits_access import VbiL1FitsAccess
8
+ from dkist_processing_vbi.tests.conftest import Vbi122ObserveFrames
9
+
10
+
11
+ @pytest.fixture(scope="function")
12
+ def header():
13
+ ds = Vbi122ObserveFrames(array_shape=(1, 2, 2), num_steps=1)
14
+ header_list = [
15
+ spec122_validator.validate_and_translate_to_214_l0(d.header(), return_type=fits.HDUList)[
16
+ 0
17
+ ].header
18
+ for d in ds
19
+ ]
20
+ return header_list[0]
21
+
22
+
23
+ def test_metadata_keys_in_access_bases(header):
24
+ """
25
+ Given: the set of metadata key names in VbiMetadataKey
26
+ When: the VBI FITS access classes define a set of new attributes
27
+ Then: the sets are the same the attributes have the correct values
28
+ """
29
+ vbi_metadata_key_names = {vmk.name for vmk in VbiMetadataKey}
30
+ all_vbi_fits_access_attrs = set()
31
+ for access_class in [VbiL0FitsAccess, VbiL1FitsAccess]:
32
+ fits_obj = access_class.from_header(header)
33
+ vbi_instance_attrs = set(vars(fits_obj).keys())
34
+ parent_class = access_class.mro()[1]
35
+ parent_fits_obj = parent_class.from_header(header)
36
+ parent_instance_attrs = set(vars(parent_fits_obj).keys())
37
+ vbi_fits_access_attrs = vbi_instance_attrs - parent_instance_attrs
38
+ for attr in vbi_fits_access_attrs:
39
+ assert getattr(fits_obj, attr) == fits_obj.header[VbiMetadataKey[attr]]
40
+ all_vbi_fits_access_attrs |= vbi_fits_access_attrs
41
+ assert vbi_metadata_key_names == all_vbi_fits_access_attrs
@@ -9,8 +9,10 @@ from dkist_processing_common.codecs.fits import fits_access_decoder
9
9
  from dkist_processing_common.codecs.fits import fits_array_decoder
10
10
  from dkist_processing_common.codecs.fits import fits_hdulist_encoder
11
11
  from dkist_processing_common.models.fits_access import FitsAccessBase
12
+ from dkist_processing_common.models.fits_access import MetadataKey
12
13
 
13
14
  from dkist_processing_vbi.models.constants import VbiConstants
15
+ from dkist_processing_vbi.models.fits_access import VbiMetadataKey
14
16
  from dkist_processing_vbi.models.tags import VbiTag
15
17
  from dkist_processing_vbi.parsers.vbi_l1_fits_access import VbiL1FitsAccess
16
18
  from dkist_processing_vbi.tasks.make_movie_frames import MakeVbiMovieFrames
@@ -57,8 +59,8 @@ def raw_make_movie_frames_task(tmp_path, recipe_run_id, init_vbi_constants_db):
57
59
  hdl[1].header["CDELT2"] = 1.0
58
60
  hdl[1].header["CRPIX1"] = (s % 2) * 7
59
61
  hdl[1].header["CRPIX2"] = -1 * ((s - 1) // 2 - 1) * 7
60
- hdl[1].header["DSPSNUM"] = m
61
- hdl[1].header["VBISTP"] = s
62
+ hdl[1].header[MetadataKey.current_dsps_repeat] = m
63
+ hdl[1].header[VbiMetadataKey.current_spatial_step] = s
62
64
  task.write(
63
65
  data=hdl,
64
66
  tags=[
@@ -116,8 +118,8 @@ def make_movie_frames_task_with_averages(tmp_path_factory):
116
118
  hdl[1].header["CDELT2"] = 1.0
117
119
  hdl[1].header["CRPIX1"] = (s % 2) * 7
118
120
  hdl[1].header["CRPIX2"] = -1 * ((s - 1) // 2 - 1) * 7
119
- hdl[1].header["DSPSNUM"] = m
120
- hdl[1].header["VBISTP"] = s
121
+ hdl[1].header[MetadataKey.current_dsps_repeat] = m
122
+ hdl[1].header[VbiMetadataKey.current_spatial_step] = s
121
123
  task.write(
122
124
  data=hdl,
123
125
  tags=[
@@ -9,10 +9,12 @@ from dkist_fits_specifications import __version__ as spec_version
9
9
  from dkist_header_validator import spec122_validator
10
10
  from dkist_header_validator import spec214_validator
11
11
  from dkist_processing_common.codecs.fits import fits_array_encoder
12
+ from dkist_processing_common.models.fits_access import MetadataKey
12
13
  from dkist_processing_common.models.tags import Tag
13
14
  from dkist_service_configuration.logging import logger
14
15
 
15
16
  from dkist_processing_vbi.models.constants import VbiConstants
17
+ from dkist_processing_vbi.models.fits_access import VbiMetadataKey
16
18
  from dkist_processing_vbi.tasks.write_l1 import VbiWriteL1Frame
17
19
  from dkist_processing_vbi.tests.conftest import Vbi122ObserveFrames
18
20
  from dkist_processing_vbi.tests.conftest import VbiConstantsDb
@@ -34,25 +36,25 @@ def calibrated_header(is_mosaic: bool, camera_str: Literal["red", "blue", "red_a
34
36
  header["CUNIT3"] = "s"
35
37
  if is_mosaic:
36
38
  if camera_str == "blue":
37
- header["VBINSTP"] = 9
38
- header["VBISTP"] = 5
39
+ header[VbiMetadataKey.number_of_spatial_steps] = 9
40
+ header[VbiMetadataKey.current_spatial_step] = 5
39
41
  elif camera_str == "red_all":
40
- header["VBINSTP"] = 5
41
- header["VBISTP"] = 5
42
+ header[VbiMetadataKey.number_of_spatial_steps] = 5
43
+ header[VbiMetadataKey.current_spatial_step] = 5
42
44
  else:
43
- header["VBINSTP"] = 4
44
- header["VBISTP"] = 3
45
+ header[VbiMetadataKey.number_of_spatial_steps] = 4
46
+ header[VbiMetadataKey.current_spatial_step] = 3
45
47
  else:
46
- header["VBINSTP"] = 1
47
- header["VBISTP"] = 1
48
- header["VBISTPAT"] = "5"
49
- header["VBINFRAM"] = 3
50
- header["VBICFRAM"] = 2
48
+ header[VbiMetadataKey.number_of_spatial_steps] = 1
49
+ header[VbiMetadataKey.current_spatial_step] = 1
50
+ header[VbiMetadataKey.spatial_step_pattern] = "5"
51
+ header[VbiMetadataKey.number_of_exp_per_mosaic_step] = 3
52
+ header[VbiMetadataKey.current_mosaic_step_exp] = 2
51
53
  header["VBINMOSC"] = 3
52
54
  header["VBICMOSC"] = 2
53
- header["DSPSNUM"] = 1002 # To mimic a large offset
55
+ header[MetadataKey.current_dsps_repeat] = 1002 # To mimic a large offset
54
56
  header["DATE-BEG"] = "2025-07-11T00:00:00"
55
- header["TEXPOSUR"] = 100
57
+ header[MetadataKey.sensor_readout_exposure_time_ms] = 100
56
58
  return header
57
59
 
58
60
 
@@ -141,7 +143,10 @@ def test_write_l1_frame(
141
143
 
142
144
  if num_mosaic_repeats > 1:
143
145
  assert header["DEAXES"] == 1
144
- assert header["DNAXIS3"] == header["VBINFRAM"] * header["VBINMOSC"]
146
+ assert (
147
+ header["DNAXIS3"]
148
+ == header[VbiMetadataKey.number_of_exp_per_mosaic_step] * header["VBINMOSC"]
149
+ )
145
150
  assert header["DTYPE3"] == "TEMPORAL"
146
151
  assert header["DUNIT3"] == "s"
147
152
  assert header["DPNAME3"] == "time"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dkist-processing-vbi
3
- Version: 1.25.1rc3
3
+ Version: 1.25.3
4
4
  Summary: Processing code for the VBI instrument on DKIST
5
5
  Author-email: NSO / AURA <dkistdc@nso.edu>
6
6
  License: BSD-3-Clause
@@ -13,7 +13,7 @@ Classifier: Programming Language :: Python :: 3
13
13
  Classifier: Programming Language :: Python :: 3.12
14
14
  Requires-Python: >=3.12
15
15
  Description-Content-Type: text/x-rst
16
- Requires-Dist: dkist-processing-common==11.7.0rc6
16
+ Requires-Dist: dkist-processing-common==11.8.0
17
17
  Requires-Dist: dkist-processing-math==2.2.1
18
18
  Requires-Dist: dkist-header-validator==5.2.1
19
19
  Requires-Dist: dkist-fits-specifications==4.17.0
@@ -37,10 +37,10 @@ Requires-Dist: dkist-processing-vbi[asdf]; extra == "test"
37
37
  Requires-Dist: dkist-processing-vbi[quality]; extra == "test"
38
38
  Provides-Extra: inventory
39
39
  Requires-Dist: dkist-processing-common[inventory]; extra == "inventory"
40
- Requires-Dist: dkist-inventory==1.10.0; extra == "inventory"
40
+ Requires-Dist: dkist-inventory==1.11.1; extra == "inventory"
41
41
  Provides-Extra: asdf
42
42
  Requires-Dist: dkist-processing-common[asdf]; extra == "asdf"
43
- Requires-Dist: dkist-inventory[asdf]==1.10.0; extra == "asdf"
43
+ Requires-Dist: dkist-inventory[asdf]==1.11.1; extra == "asdf"
44
44
  Provides-Extra: quality
45
45
  Requires-Dist: dkist-quality==2.0.0; extra == "quality"
46
46
  Provides-Extra: grogu
@@ -57,7 +57,7 @@ Requires-Dist: towncrier; extra == "docs"
57
57
  Requires-Dist: dkist-sphinx-theme; extra == "docs"
58
58
  Provides-Extra: frozen
59
59
  Requires-Dist: ConfigUpdater==3.2; extra == "frozen"
60
- Requires-Dist: Deprecated==1.2.18; extra == "frozen"
60
+ Requires-Dist: Deprecated==1.3.1; extra == "frozen"
61
61
  Requires-Dist: Flask==2.2.5; extra == "frozen"
62
62
  Requires-Dist: Flask-AppBuilder==4.5.3; extra == "frozen"
63
63
  Requires-Dist: Flask-Babel==2.0.0; extra == "frozen"
@@ -68,6 +68,7 @@ Requires-Dist: Flask-Login==0.6.3; extra == "frozen"
68
68
  Requires-Dist: Flask-SQLAlchemy==2.5.1; extra == "frozen"
69
69
  Requires-Dist: Flask-Session==0.5.0; extra == "frozen"
70
70
  Requires-Dist: Flask-WTF==1.2.2; extra == "frozen"
71
+ Requires-Dist: ImageIO==2.37.2; extra == "frozen"
71
72
  Requires-Dist: Jinja2==3.1.6; extra == "frozen"
72
73
  Requires-Dist: Mako==1.3.10; extra == "frozen"
73
74
  Requires-Dist: MarkupSafe==3.0.3; extra == "frozen"
@@ -82,68 +83,68 @@ Requires-Dist: WTForms==3.2.1; extra == "frozen"
82
83
  Requires-Dist: Werkzeug==2.2.3; extra == "frozen"
83
84
  Requires-Dist: aioftp==0.27.2; extra == "frozen"
84
85
  Requires-Dist: aiohappyeyeballs==2.6.1; extra == "frozen"
85
- Requires-Dist: aiohttp==3.13.0; extra == "frozen"
86
+ Requires-Dist: aiohttp==3.13.2; extra == "frozen"
86
87
  Requires-Dist: aiosignal==1.4.0; extra == "frozen"
87
- Requires-Dist: aiosmtplib==4.0.2; extra == "frozen"
88
- Requires-Dist: alembic==1.16.5; extra == "frozen"
88
+ Requires-Dist: aiosmtplib==5.0.0; extra == "frozen"
89
+ Requires-Dist: alembic==1.17.1; extra == "frozen"
89
90
  Requires-Dist: amqp==5.3.1; extra == "frozen"
90
91
  Requires-Dist: annotated-types==0.7.0; extra == "frozen"
91
92
  Requires-Dist: anyio==4.11.0; extra == "frozen"
92
93
  Requires-Dist: apache-airflow==2.11.0; extra == "frozen"
93
94
  Requires-Dist: apache-airflow-providers-celery==3.10.0; extra == "frozen"
94
- Requires-Dist: apache-airflow-providers-common-compat==1.7.4; extra == "frozen"
95
- Requires-Dist: apache-airflow-providers-common-io==1.6.3; extra == "frozen"
96
- Requires-Dist: apache-airflow-providers-common-sql==1.28.1; extra == "frozen"
95
+ Requires-Dist: apache-airflow-providers-common-compat==1.8.0; extra == "frozen"
96
+ Requires-Dist: apache-airflow-providers-common-io==1.6.4; extra == "frozen"
97
+ Requires-Dist: apache-airflow-providers-common-sql==1.28.2; extra == "frozen"
97
98
  Requires-Dist: apache-airflow-providers-fab==1.5.3; extra == "frozen"
98
99
  Requires-Dist: apache-airflow-providers-ftp==3.13.2; extra == "frozen"
99
- Requires-Dist: apache-airflow-providers-http==5.3.4; extra == "frozen"
100
- Requires-Dist: apache-airflow-providers-imap==3.9.2; extra == "frozen"
101
- Requires-Dist: apache-airflow-providers-postgres==6.3.0; extra == "frozen"
100
+ Requires-Dist: apache-airflow-providers-http==5.4.0; extra == "frozen"
101
+ Requires-Dist: apache-airflow-providers-imap==3.9.3; extra == "frozen"
102
+ Requires-Dist: apache-airflow-providers-postgres==6.4.0; extra == "frozen"
102
103
  Requires-Dist: apache-airflow-providers-smtp==2.3.1; extra == "frozen"
103
104
  Requires-Dist: apache-airflow-providers-sqlite==4.1.2; extra == "frozen"
104
105
  Requires-Dist: apispec==6.8.4; extra == "frozen"
105
- Requires-Dist: argcomplete==3.6.2; extra == "frozen"
106
+ Requires-Dist: argcomplete==3.6.3; extra == "frozen"
106
107
  Requires-Dist: asdf==3.5.0; extra == "frozen"
107
108
  Requires-Dist: asdf_standard==1.4.0; extra == "frozen"
108
109
  Requires-Dist: asdf_transform_schemas==0.6.0; extra == "frozen"
109
110
  Requires-Dist: asgiref==3.10.0; extra == "frozen"
110
111
  Requires-Dist: asteval==1.0.6; extra == "frozen"
111
112
  Requires-Dist: astropy==7.0.2; extra == "frozen"
112
- Requires-Dist: astropy-iers-data==0.2025.10.6.0.35.25; extra == "frozen"
113
+ Requires-Dist: astropy-iers-data==0.2025.11.3.0.38.37; extra == "frozen"
113
114
  Requires-Dist: asyncpg==0.30.0; extra == "frozen"
114
115
  Requires-Dist: attrs==25.4.0; extra == "frozen"
115
116
  Requires-Dist: babel==2.17.0; extra == "frozen"
116
117
  Requires-Dist: billiard==4.2.2; extra == "frozen"
117
118
  Requires-Dist: blinker==1.9.0; extra == "frozen"
118
- Requires-Dist: boto3==1.40.48; extra == "frozen"
119
- Requires-Dist: botocore==1.40.48; extra == "frozen"
119
+ Requires-Dist: boto3==1.40.65; extra == "frozen"
120
+ Requires-Dist: botocore==1.40.65; extra == "frozen"
120
121
  Requires-Dist: cachelib==0.13.0; extra == "frozen"
121
122
  Requires-Dist: celery==5.3.1; extra == "frozen"
122
123
  Requires-Dist: certifi==2025.10.5; extra == "frozen"
123
124
  Requires-Dist: cffi==2.0.0; extra == "frozen"
124
- Requires-Dist: charset-normalizer==3.4.3; extra == "frozen"
125
+ Requires-Dist: charset-normalizer==3.4.4; extra == "frozen"
125
126
  Requires-Dist: click==8.3.0; extra == "frozen"
126
127
  Requires-Dist: click-didyoumean==0.3.1; extra == "frozen"
127
128
  Requires-Dist: click-plugins==1.1.1.2; extra == "frozen"
128
129
  Requires-Dist: click-repl==0.3.0; extra == "frozen"
129
130
  Requires-Dist: clickclick==20.10.2; extra == "frozen"
130
131
  Requires-Dist: colorama==0.4.6; extra == "frozen"
131
- Requires-Dist: colorlog==6.9.0; extra == "frozen"
132
+ Requires-Dist: colorlog==6.10.1; extra == "frozen"
132
133
  Requires-Dist: connexion==2.14.2; extra == "frozen"
133
134
  Requires-Dist: contourpy==1.3.3; extra == "frozen"
134
135
  Requires-Dist: cron_descriptor==2.0.6; extra == "frozen"
135
136
  Requires-Dist: croniter==6.0.0; extra == "frozen"
136
- Requires-Dist: cryptography==46.0.2; extra == "frozen"
137
+ Requires-Dist: cryptography==46.0.3; extra == "frozen"
137
138
  Requires-Dist: cycler==0.12.1; extra == "frozen"
138
139
  Requires-Dist: dacite==1.9.2; extra == "frozen"
139
140
  Requires-Dist: decorator==5.2.1; extra == "frozen"
140
141
  Requires-Dist: dill==0.4.0; extra == "frozen"
141
142
  Requires-Dist: dkist-header-validator==5.2.1; extra == "frozen"
142
- Requires-Dist: dkist-processing-common==11.7.0rc6; extra == "frozen"
143
+ Requires-Dist: dkist-processing-common==11.8.0; extra == "frozen"
143
144
  Requires-Dist: dkist-processing-core==6.0.0; extra == "frozen"
144
145
  Requires-Dist: dkist-processing-math==2.2.1; extra == "frozen"
145
146
  Requires-Dist: dkist-processing-pac==3.1.1; extra == "frozen"
146
- Requires-Dist: dkist-processing-vbi==1.25.1rc3; extra == "frozen"
147
+ Requires-Dist: dkist-processing-vbi==1.25.3; extra == "frozen"
147
148
  Requires-Dist: dkist-service-configuration==4.1.7; extra == "frozen"
148
149
  Requires-Dist: dkist-spectral-lines==3.0.0; extra == "frozen"
149
150
  Requires-Dist: dkist_fits_specifications==4.17.0; extra == "frozen"
@@ -153,19 +154,19 @@ Requires-Dist: fastjsonschema==2.21.2; extra == "frozen"
153
154
  Requires-Dist: flower==2.0.1; extra == "frozen"
154
155
  Requires-Dist: fonttools==4.60.1; extra == "frozen"
155
156
  Requires-Dist: frozenlist==1.8.0; extra == "frozen"
156
- Requires-Dist: fsspec==2025.9.0; extra == "frozen"
157
+ Requires-Dist: fsspec==2025.10.0; extra == "frozen"
157
158
  Requires-Dist: globus-sdk==3.65.0; extra == "frozen"
158
159
  Requires-Dist: google-re2==1.1.20250805; extra == "frozen"
159
- Requires-Dist: googleapis-common-protos==1.70.0; extra == "frozen"
160
+ Requires-Dist: googleapis-common-protos==1.71.0; extra == "frozen"
160
161
  Requires-Dist: gqlclient==1.2.3; extra == "frozen"
161
- Requires-Dist: grpcio==1.75.1; extra == "frozen"
162
+ Requires-Dist: greenlet==3.2.4; extra == "frozen"
163
+ Requires-Dist: grpcio==1.76.0; extra == "frozen"
162
164
  Requires-Dist: gunicorn==23.0.0; extra == "frozen"
163
165
  Requires-Dist: h11==0.16.0; extra == "frozen"
164
166
  Requires-Dist: httpcore==1.0.9; extra == "frozen"
165
167
  Requires-Dist: httpx==0.28.1; extra == "frozen"
166
- Requires-Dist: humanize==4.13.0; extra == "frozen"
167
- Requires-Dist: idna==3.10; extra == "frozen"
168
- Requires-Dist: imageio==2.37.0; extra == "frozen"
168
+ Requires-Dist: humanize==4.14.0; extra == "frozen"
169
+ Requires-Dist: idna==3.11; extra == "frozen"
169
170
  Requires-Dist: imageio-ffmpeg==0.6.0; extra == "frozen"
170
171
  Requires-Dist: importlib_metadata==8.7.0; extra == "frozen"
171
172
  Requires-Dist: inflection==0.5.1; extra == "frozen"
@@ -173,9 +174,9 @@ Requires-Dist: itsdangerous==2.2.0; extra == "frozen"
173
174
  Requires-Dist: jmespath==1.0.1; extra == "frozen"
174
175
  Requires-Dist: jsonschema==4.25.1; extra == "frozen"
175
176
  Requires-Dist: jsonschema-specifications==2025.9.1; extra == "frozen"
176
- Requires-Dist: jupyter_core==5.8.1; extra == "frozen"
177
+ Requires-Dist: jupyter_core==5.9.1; extra == "frozen"
177
178
  Requires-Dist: kiwisolver==1.4.9; extra == "frozen"
178
- Requires-Dist: kombu==5.5.4; extra == "frozen"
179
+ Requires-Dist: kombu==5.6.0; extra == "frozen"
179
180
  Requires-Dist: lazy-object-proxy==1.12.0; extra == "frozen"
180
181
  Requires-Dist: lazy_loader==0.4; extra == "frozen"
181
182
  Requires-Dist: limits==5.6.0; extra == "frozen"
@@ -198,40 +199,40 @@ Requires-Dist: nbformat==5.10.4; extra == "frozen"
198
199
  Requires-Dist: networkx==3.5; extra == "frozen"
199
200
  Requires-Dist: numpy==2.2.5; extra == "frozen"
200
201
  Requires-Dist: object-clerk==1.0.0; extra == "frozen"
201
- Requires-Dist: opentelemetry-api==1.37.0; extra == "frozen"
202
- Requires-Dist: opentelemetry-exporter-otlp==1.37.0; extra == "frozen"
203
- Requires-Dist: opentelemetry-exporter-otlp-proto-common==1.37.0; extra == "frozen"
204
- Requires-Dist: opentelemetry-exporter-otlp-proto-grpc==1.37.0; extra == "frozen"
205
- Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.37.0; extra == "frozen"
206
- Requires-Dist: opentelemetry-instrumentation==0.58b0; extra == "frozen"
207
- Requires-Dist: opentelemetry-instrumentation-aiohttp-client==0.58b0; extra == "frozen"
208
- Requires-Dist: opentelemetry-instrumentation-asgi==0.58b0; extra == "frozen"
209
- Requires-Dist: opentelemetry-instrumentation-botocore==0.58b0; extra == "frozen"
210
- Requires-Dist: opentelemetry-instrumentation-celery==0.58b0; extra == "frozen"
211
- Requires-Dist: opentelemetry-instrumentation-dbapi==0.58b0; extra == "frozen"
212
- Requires-Dist: opentelemetry-instrumentation-fastapi==0.58b0; extra == "frozen"
213
- Requires-Dist: opentelemetry-instrumentation-pika==0.58b0; extra == "frozen"
214
- Requires-Dist: opentelemetry-instrumentation-psycopg2==0.58b0; extra == "frozen"
215
- Requires-Dist: opentelemetry-instrumentation-pymongo==0.58b0; extra == "frozen"
216
- Requires-Dist: opentelemetry-instrumentation-redis==0.58b0; extra == "frozen"
217
- Requires-Dist: opentelemetry-instrumentation-requests==0.58b0; extra == "frozen"
218
- Requires-Dist: opentelemetry-instrumentation-sqlalchemy==0.58b0; extra == "frozen"
219
- Requires-Dist: opentelemetry-instrumentation-system-metrics==0.58b0; extra == "frozen"
202
+ Requires-Dist: opentelemetry-api==1.38.0; extra == "frozen"
203
+ Requires-Dist: opentelemetry-exporter-otlp==1.38.0; extra == "frozen"
204
+ Requires-Dist: opentelemetry-exporter-otlp-proto-common==1.38.0; extra == "frozen"
205
+ Requires-Dist: opentelemetry-exporter-otlp-proto-grpc==1.38.0; extra == "frozen"
206
+ Requires-Dist: opentelemetry-exporter-otlp-proto-http==1.38.0; extra == "frozen"
207
+ Requires-Dist: opentelemetry-instrumentation==0.59b0; extra == "frozen"
208
+ Requires-Dist: opentelemetry-instrumentation-aiohttp-client==0.59b0; extra == "frozen"
209
+ Requires-Dist: opentelemetry-instrumentation-asgi==0.59b0; extra == "frozen"
210
+ Requires-Dist: opentelemetry-instrumentation-botocore==0.59b0; extra == "frozen"
211
+ Requires-Dist: opentelemetry-instrumentation-celery==0.59b0; extra == "frozen"
212
+ Requires-Dist: opentelemetry-instrumentation-dbapi==0.59b0; extra == "frozen"
213
+ Requires-Dist: opentelemetry-instrumentation-fastapi==0.59b0; extra == "frozen"
214
+ Requires-Dist: opentelemetry-instrumentation-pika==0.59b0; extra == "frozen"
215
+ Requires-Dist: opentelemetry-instrumentation-psycopg2==0.59b0; extra == "frozen"
216
+ Requires-Dist: opentelemetry-instrumentation-pymongo==0.59b0; extra == "frozen"
217
+ Requires-Dist: opentelemetry-instrumentation-redis==0.59b0; extra == "frozen"
218
+ Requires-Dist: opentelemetry-instrumentation-requests==0.59b0; extra == "frozen"
219
+ Requires-Dist: opentelemetry-instrumentation-sqlalchemy==0.59b0; extra == "frozen"
220
+ Requires-Dist: opentelemetry-instrumentation-system-metrics==0.59b0; extra == "frozen"
220
221
  Requires-Dist: opentelemetry-propagator-aws-xray==1.0.2; extra == "frozen"
221
- Requires-Dist: opentelemetry-proto==1.37.0; extra == "frozen"
222
- Requires-Dist: opentelemetry-sdk==1.37.0; extra == "frozen"
223
- Requires-Dist: opentelemetry-semantic-conventions==0.58b0; extra == "frozen"
224
- Requires-Dist: opentelemetry-util-http==0.58b0; extra == "frozen"
222
+ Requires-Dist: opentelemetry-proto==1.38.0; extra == "frozen"
223
+ Requires-Dist: opentelemetry-sdk==1.38.0; extra == "frozen"
224
+ Requires-Dist: opentelemetry-semantic-conventions==0.59b0; extra == "frozen"
225
+ Requires-Dist: opentelemetry-util-http==0.59b0; extra == "frozen"
225
226
  Requires-Dist: ordered-set==4.1.0; extra == "frozen"
226
227
  Requires-Dist: packaging==25.0; extra == "frozen"
227
228
  Requires-Dist: pandas==2.3.3; extra == "frozen"
228
229
  Requires-Dist: parfive==2.2.0; extra == "frozen"
229
- Requires-Dist: pathlib_abc==0.5.1; extra == "frozen"
230
+ Requires-Dist: pathlib_abc==0.5.2; extra == "frozen"
230
231
  Requires-Dist: pathspec==0.12.1; extra == "frozen"
231
232
  Requires-Dist: pendulum==3.1.0; extra == "frozen"
232
233
  Requires-Dist: pika==1.3.2; extra == "frozen"
233
234
  Requires-Dist: pillow==10.4.0; extra == "frozen"
234
- Requires-Dist: pip==25.2; extra == "frozen"
235
+ Requires-Dist: pip==25.3; extra == "frozen"
235
236
  Requires-Dist: platformdirs==4.5.0; extra == "frozen"
236
237
  Requires-Dist: pluggy==1.6.0; extra == "frozen"
237
238
  Requires-Dist: pooch==1.8.2; extra == "frozen"
@@ -240,29 +241,29 @@ Requires-Dist: proglog==0.1.12; extra == "frozen"
240
241
  Requires-Dist: prometheus_client==0.23.1; extra == "frozen"
241
242
  Requires-Dist: prompt_toolkit==3.0.52; extra == "frozen"
242
243
  Requires-Dist: propcache==0.4.1; extra == "frozen"
243
- Requires-Dist: protobuf==6.32.1; extra == "frozen"
244
- Requires-Dist: psutil==7.1.0; extra == "frozen"
245
- Requires-Dist: psycopg2-binary==2.9.10; extra == "frozen"
244
+ Requires-Dist: protobuf==6.33.0; extra == "frozen"
245
+ Requires-Dist: psutil==7.1.3; extra == "frozen"
246
+ Requires-Dist: psycopg2-binary==2.9.11; extra == "frozen"
246
247
  Requires-Dist: pycparser==2.23; extra == "frozen"
247
- Requires-Dist: pydantic==2.12.0; extra == "frozen"
248
+ Requires-Dist: pydantic==2.12.3; extra == "frozen"
248
249
  Requires-Dist: pydantic-settings==2.11.0; extra == "frozen"
249
- Requires-Dist: pydantic_core==2.41.1; extra == "frozen"
250
+ Requires-Dist: pydantic_core==2.41.4; extra == "frozen"
250
251
  Requires-Dist: pyerfa==2.0.1.5; extra == "frozen"
251
252
  Requires-Dist: pyparsing==3.2.5; extra == "frozen"
252
253
  Requires-Dist: python-daemon==3.1.2; extra == "frozen"
253
254
  Requires-Dist: python-dateutil==2.9.0.post0; extra == "frozen"
254
- Requires-Dist: python-dotenv==1.1.1; extra == "frozen"
255
+ Requires-Dist: python-dotenv==1.2.1; extra == "frozen"
255
256
  Requires-Dist: python-nvd3==0.16.0; extra == "frozen"
256
257
  Requires-Dist: python-slugify==8.0.4; extra == "frozen"
257
258
  Requires-Dist: pytz==2025.2; extra == "frozen"
258
259
  Requires-Dist: redis==6.4.0; extra == "frozen"
259
- Requires-Dist: referencing==0.36.2; extra == "frozen"
260
+ Requires-Dist: referencing==0.37.0; extra == "frozen"
260
261
  Requires-Dist: requests==2.32.5; extra == "frozen"
261
262
  Requires-Dist: requests-toolbelt==1.0.0; extra == "frozen"
262
263
  Requires-Dist: rfc3339-validator==0.1.4; extra == "frozen"
263
264
  Requires-Dist: rich==13.9.4; extra == "frozen"
264
- Requires-Dist: rich-argparse==1.7.1; extra == "frozen"
265
- Requires-Dist: rpds-py==0.27.1; extra == "frozen"
265
+ Requires-Dist: rich-argparse==1.7.2; extra == "frozen"
266
+ Requires-Dist: rpds-py==0.28.0; extra == "frozen"
266
267
  Requires-Dist: s3transfer==0.14.0; extra == "frozen"
267
268
  Requires-Dist: scikit-image==0.25.2; extra == "frozen"
268
269
  Requires-Dist: scipy==1.15.3; extra == "frozen"
@@ -277,9 +278,9 @@ Requires-Dist: sunpy==6.1.1; extra == "frozen"
277
278
  Requires-Dist: tabulate==0.9.0; extra == "frozen"
278
279
  Requires-Dist: talus==1.3.4; extra == "frozen"
279
280
  Requires-Dist: tenacity==8.5.0; extra == "frozen"
280
- Requires-Dist: termcolor==3.1.0; extra == "frozen"
281
+ Requires-Dist: termcolor==3.2.0; extra == "frozen"
281
282
  Requires-Dist: text-unidecode==1.3; extra == "frozen"
282
- Requires-Dist: tifffile==2025.10.4; extra == "frozen"
283
+ Requires-Dist: tifffile==2025.10.16; extra == "frozen"
283
284
  Requires-Dist: tornado==6.5.2; extra == "frozen"
284
285
  Requires-Dist: tqdm==4.67.1; extra == "frozen"
285
286
  Requires-Dist: traitlets==5.14.3; extra == "frozen"
@@ -288,7 +289,7 @@ Requires-Dist: typing_extensions==4.15.0; extra == "frozen"
288
289
  Requires-Dist: tzdata==2025.2; extra == "frozen"
289
290
  Requires-Dist: uc-micro-py==1.0.3; extra == "frozen"
290
291
  Requires-Dist: uncertainties==3.2.3; extra == "frozen"
291
- Requires-Dist: universal_pathlib==0.3.3; extra == "frozen"
292
+ Requires-Dist: universal_pathlib==0.3.4; extra == "frozen"
292
293
  Requires-Dist: urllib3==2.5.0; extra == "frozen"
293
294
  Requires-Dist: vine==5.1.0; extra == "frozen"
294
295
  Requires-Dist: voluptuous==0.15.2; extra == "frozen"
@@ -1,34 +1,35 @@
1
1
  changelog/.gitempty,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
- changelog/155.misc.rst,sha256=YoX7N7k2NKgC-P0z-Aqv8D_Z07-XxhS0lzpm-rQVCdw,91
3
2
  dkist_processing_vbi/__init__.py,sha256=GQ9EBnYhkOnt-qODclAoLS_g5YVhurxfg1tjVtI9rDI,320
4
3
  dkist_processing_vbi/config.py,sha256=D1MG-IkFuJdB8hr1l1t4RjHG78in0HQyQY5NiIRIrCo,472
5
4
  dkist_processing_vbi/models/__init__.py,sha256=z2nFVvvIzirxklQ9i5-F1nR-WOgcDttYtog_jx4yN5I,12
6
5
  dkist_processing_vbi/models/constants.py,sha256=kZtc9LzchvVAw-Rhkj4OXnhGJGZmPhKvCVHi11zlrog,3586
7
6
  dkist_processing_vbi/models/filter.py,sha256=DnmMT95fPej_Dpx3oKOvfDOnpdmuJpHOTuFuN-4KTvY,1513
7
+ dkist_processing_vbi/models/fits_access.py,sha256=Rg3moAcxyVnVEclt8l3we4pNlqgECiUTWDZeDVNtg68,376
8
8
  dkist_processing_vbi/models/parameters.py,sha256=RYPGL7BLLOV-K6Fk534wRsRtDniHkINIy-DFSE6xHtw,421
9
9
  dkist_processing_vbi/models/tags.py,sha256=mIJQS2NvWNEg5uCM6Q3ORaiMjq2jRFn2h19MqJGI1c0,1744
10
10
  dkist_processing_vbi/parsers/__init__.py,sha256=z2nFVvvIzirxklQ9i5-F1nR-WOgcDttYtog_jx4yN5I,12
11
11
  dkist_processing_vbi/parsers/mosaic_repeats.py,sha256=vqanDp7R7pSwHIOJ2xzbLjYC1korE320bAeTcQpS2hk,7037
12
- dkist_processing_vbi/parsers/spatial_step_pattern.py,sha256=kNEWYpGtZObh3urgI58IFDkl5L8GJVBwc2GqG4SSIc8,1854
13
- dkist_processing_vbi/parsers/vbi_l0_fits_access.py,sha256=yVvf4lUuI6Xa11tZzw9z5YtT-4kvo4uupwSaTYduR1c,1210
14
- dkist_processing_vbi/parsers/vbi_l1_fits_access.py,sha256=sV23IrQvDtRGK6wQyJiNKv5OFcAcP-gboUY3JprxnFE,995
12
+ dkist_processing_vbi/parsers/spatial_step_pattern.py,sha256=eY4gdb8fdW8xJoCf5z33adASBMnyNrpAe2WLSdas0oc,1934
13
+ dkist_processing_vbi/parsers/vbi_l0_fits_access.py,sha256=7Pz8tZdD90qW1Nn4Nrpsm6g2RqedqeGaF4Y_-HWTZDc,1443
14
+ dkist_processing_vbi/parsers/vbi_l1_fits_access.py,sha256=_vpQQKRhv6EdAh7Pf--8xoppXHz6xyyn9pvK_0xpeTM,1119
15
15
  dkist_processing_vbi/tasks/__init__.py,sha256=yJJe8-TitvAaMZaWtPVRES6Lgbcm7BqWJxb8XdlKpMw,489
16
16
  dkist_processing_vbi/tasks/assemble_movie.py,sha256=We647y3nA8T2UB--leAlYXCOsXFRssnU00W0nkZJVSI,4119
17
17
  dkist_processing_vbi/tasks/dark.py,sha256=iMH0WWUsPBsBT2M70Nyh4OG7c-BYVrOcHWRVdYkYrQI,4052
18
18
  dkist_processing_vbi/tasks/gain.py,sha256=o2pgeTV1PRkhC5ebI8iVYvKHvLP4xt6X2aJE5CnD1oI,6387
19
19
  dkist_processing_vbi/tasks/make_movie_frames.py,sha256=0yMRA0PV3ECr2G1qC81H3k2hilfKR1pFBU-RMmqNEZc,14087
20
- dkist_processing_vbi/tasks/parse.py,sha256=cTEhWl_oTYa4zjVPXjkngdth15aGVuwNM2Z9jgJis2s,3072
20
+ dkist_processing_vbi/tasks/parse.py,sha256=QI3JwBPX45220LpmOKPOxNJwE1yCBBEvAyQVaGSnB2Y,3242
21
21
  dkist_processing_vbi/tasks/process_summit_processed.py,sha256=ur0PdXYQpjpfaY_zdDZWBvqUtl40sexM6orRrnupZI0,2556
22
22
  dkist_processing_vbi/tasks/quality_metrics.py,sha256=5k5DQZ9tV_Emu9ycfB15BjgHuA62U9czkRLGfZNwKeM,2469
23
23
  dkist_processing_vbi/tasks/science.py,sha256=fYlqxP5ozrEOygaPFHp-nU1ic-WyBacF3TvFSf2IxmE,6321
24
24
  dkist_processing_vbi/tasks/vbi_base.py,sha256=b0L4QOPtFKI15Q_2Ih1YC55g1nA8ESL_PNXmNtfWh30,805
25
- dkist_processing_vbi/tasks/write_l1.py,sha256=0-hxPDp_7t0LI7waHsKqOlEvbrm_sWaM6AHUrQR1LNY,6075
25
+ dkist_processing_vbi/tasks/write_l1.py,sha256=a1xAEDy9hVT_b8k4iSbaElxV1xeIbUHCYMatGxTs4Rk,6404
26
26
  dkist_processing_vbi/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  dkist_processing_vbi/tests/conftest.py,sha256=zoYCA65n_HX08HR80oqiK5V9CY2vTmBVX6xTeiWJIVo,12822
28
28
  dkist_processing_vbi/tests/test_assemble_movie.py,sha256=JMD-Bc6vgrQUWTkq84CLffauU86YTzDhTEFI84p0CJc,2748
29
29
  dkist_processing_vbi/tests/test_dark.py,sha256=vAsVhgoK2W5FwPJmlxQ5MSG-Shldwh-KDbBZGgxJgGE,4464
30
+ dkist_processing_vbi/tests/test_fits_access.py,sha256=90hC-fX-nkAODHVizVTJNa9px6MMa_VvgJV50xJFd00,1730
30
31
  dkist_processing_vbi/tests/test_gain.py,sha256=TZuvc-rMJff6sKkWR7FvCJOrFGrio4Mmf7d8h21XPQI,4111
31
- dkist_processing_vbi/tests/test_make_movie_frames.py,sha256=_JPyLS90SdVBZ_DEXaqR9JdGlXwiSKXTeOw1n2itog4,10359
32
+ dkist_processing_vbi/tests/test_make_movie_frames.py,sha256=WmqAaKXl8En-Lkl4capsh8TQjEVU-AsJ99Aa2_1Q3_k,10591
32
33
  dkist_processing_vbi/tests/test_parse_l0.py,sha256=lSzQQQIa9eguH9QstCN-TM9uaU4Pe_TOJ0BCm-Gkbz0,13528
33
34
  dkist_processing_vbi/tests/test_parse_summit.py,sha256=V6sunVDDDqCH1VZV-SllyTUYRMmOenFCHCntMl3VwXQ,5579
34
35
  dkist_processing_vbi/tests/test_process_summit.py,sha256=ja_u_r-u7LzVF26Y1C8pqIGqS0z1GhBePhQ7z1V_DTg,8406
@@ -38,7 +39,7 @@ dkist_processing_vbi/tests/test_spatial_step_pattern.py,sha256=HB4SOmTlu8D2SSPbl
38
39
  dkist_processing_vbi/tests/test_vbi_base.py,sha256=0NhHU-6L0xAtDLtZANidhebtedlvXCggiXI8lFCPpLk,1023
39
40
  dkist_processing_vbi/tests/test_vbi_constants.py,sha256=hCgBjx5npz_DoQxaBS53eMz3mTIxT1YbxYOro3hC6YM,4336
40
41
  dkist_processing_vbi/tests/test_workflows.py,sha256=yompfSNarR5poFtbY4U1TSsB10Ujm2Ns_8akqV1H09M,286
41
- dkist_processing_vbi/tests/test_write_l1.py,sha256=Oh3ZX-6yws3Cl3NTff_-0SpP93w8jIvHczFTsqB6tig,7934
42
+ dkist_processing_vbi/tests/test_write_l1.py,sha256=OcZY4dGJMnN6ffy2aQPfdOxpWT8IN3NsDm6qAXjES28,8516
42
43
  dkist_processing_vbi/tests/local_trial_workflows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
44
  dkist_processing_vbi/tests/local_trial_workflows/l0_to_l1.py,sha256=_rdys4_AQ6j-4l5S1HLoaLg-wiu81d_vX3vOUfw6Gr8,9967
44
45
  dkist_processing_vbi/workflows/__init__.py,sha256=gfKb3ezwhLoRAfVOxjRZNpNeBY8WONH8K0g2f3jCJZk,101
@@ -59,7 +60,7 @@ docs/requirements.txt,sha256=Kbl_X4c7RQZw035YTeNB63We6I7pvXFU4T0Uflp2yDY,29
59
60
  docs/requirements_table.rst,sha256=lu3sizCldCfQZTkX-_KZfV07U7j6nq-ZgA_nimpwoFk,291
60
61
  docs/scientific_changelog.rst,sha256=01AWBSHg8zElnodCgAq-hMxhk9CkX5rtEENx4iz0sjI,300
61
62
  licenses/LICENSE.rst,sha256=piZaQplkzOMmH1NXg6QIdo9wwo9pPCoHkvm2-DmH76E,1462
62
- dkist_processing_vbi-1.25.1rc3.dist-info/METADATA,sha256=H_i8Zjr33b7GsZ7Tlg32Of-zOfqIhOR_poNbgAOj-6o,28510
63
- dkist_processing_vbi-1.25.1rc3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
64
- dkist_processing_vbi-1.25.1rc3.dist-info/top_level.txt,sha256=0haPknO-Vs_9QzeelcUGELlVwvJ28UeH5uQnBF2w5nQ,45
65
- dkist_processing_vbi-1.25.1rc3.dist-info/RECORD,,
63
+ dkist_processing_vbi-1.25.3.dist-info/METADATA,sha256=9gM6_F0N8VSJC69PBpBpWtxO-TuWAjJTPPsti1INPCo,28550
64
+ dkist_processing_vbi-1.25.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
65
+ dkist_processing_vbi-1.25.3.dist-info/top_level.txt,sha256=0haPknO-Vs_9QzeelcUGELlVwvJ28UeH5uQnBF2w5nQ,45
66
+ dkist_processing_vbi-1.25.3.dist-info/RECORD,,
changelog/155.misc.rst DELETED
@@ -1 +0,0 @@
1
- Update `dkist-processing-common` to v11.7.0, which makes constants for the dataset extras.