dkist-processing-visp 5.7.23__tar.gz → 5.7.24__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/CHANGELOG.rst +9 -0
  2. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/PKG-INFO +7 -8
  3. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/parsers/time.py +11 -12
  4. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp.egg-info/PKG-INFO +7 -8
  5. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp.egg-info/requires.txt +6 -7
  6. dkist_processing_visp-5.7.24/dkist_processing_visp.egg-info/scm_version.json +8 -0
  7. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/pyproject.toml +8 -9
  8. dkist_processing_visp-5.7.23/dkist_processing_visp.egg-info/scm_version.json +0 -8
  9. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/.gitignore +0 -0
  10. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/.pre-commit-config.yaml +0 -0
  11. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/.readthedocs.yml +0 -0
  12. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/.rovodev/.review-agent.md +0 -0
  13. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/.snyk +0 -0
  14. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/README.rst +0 -0
  15. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/SCIENCE_CHANGELOG.rst +0 -0
  16. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/bitbucket-pipelines.yml +0 -0
  17. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/changelog/.gitempty +0 -0
  18. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/__init__.py +0 -0
  19. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/config.py +0 -0
  20. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/fonts/Lato-Regular.ttf +0 -0
  21. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/models/__init__.py +0 -0
  22. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/models/constants.py +0 -0
  23. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/models/dataset_extras.py +0 -0
  24. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/models/fits_access.py +0 -0
  25. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/models/metric_code.py +0 -0
  26. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/models/parameters.py +0 -0
  27. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/models/tags.py +0 -0
  28. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/models/task_name.py +0 -0
  29. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/parsers/__init__.py +0 -0
  30. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/parsers/map_repeats.py +0 -0
  31. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/parsers/modulator_states.py +0 -0
  32. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/parsers/polarimeter_mode.py +0 -0
  33. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/parsers/raster_step.py +0 -0
  34. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/parsers/spectrograph_configuration.py +0 -0
  35. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/parsers/visp_l0_fits_access.py +0 -0
  36. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/parsers/visp_l1_fits_access.py +0 -0
  37. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/__init__.py +0 -0
  38. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/assemble_movie.py +0 -0
  39. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/background_light.py +0 -0
  40. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/dark.py +0 -0
  41. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/geometric.py +0 -0
  42. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/instrument_polarization.py +0 -0
  43. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/l1_output_data.py +0 -0
  44. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/lamp.py +0 -0
  45. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/make_movie_frames.py +0 -0
  46. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/mixin/__init__.py +0 -0
  47. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/mixin/beam_access.py +0 -0
  48. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/mixin/corrections.py +0 -0
  49. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/mixin/downsample.py +0 -0
  50. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/parse.py +0 -0
  51. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/polcal_as_science.py +0 -0
  52. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/quality_metrics.py +0 -0
  53. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/science.py +0 -0
  54. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/solar.py +0 -0
  55. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/visp_base.py +0 -0
  56. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/wavelength_calibration.py +0 -0
  57. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/write_dataset_extras.py +0 -0
  58. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tasks/write_l1.py +0 -0
  59. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/README.rst +0 -0
  60. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/__init__.py +0 -0
  61. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/conftest.py +0 -0
  62. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/header_models.py +0 -0
  63. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/local_trial_workflows/__init__.py +0 -0
  64. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/local_trial_workflows/l0_cals_only.py +0 -0
  65. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/local_trial_workflows/l0_polcals_as_science.py +0 -0
  66. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/local_trial_workflows/l0_solar_gain_as_science.py +0 -0
  67. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/local_trial_workflows/l0_to_l1.py +0 -0
  68. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/local_trial_workflows/local_trial_helpers.py +0 -0
  69. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_assemble_movie.py +0 -0
  70. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_assemble_quality.py +0 -0
  71. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_background_light.py +0 -0
  72. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_dark.py +0 -0
  73. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_downsample.py +0 -0
  74. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_fits_access.py +0 -0
  75. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_geometric.py +0 -0
  76. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_instrument_polarization.py +0 -0
  77. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_lamp.py +0 -0
  78. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_make_movie_frames.py +0 -0
  79. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_map_repeats.py +0 -0
  80. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_parameters.py +0 -0
  81. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_parse.py +0 -0
  82. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_polcal_as_science.py +0 -0
  83. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_quality.py +0 -0
  84. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_science.py +0 -0
  85. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_solar.py +0 -0
  86. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_trial_create_quality_report.py +0 -0
  87. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_visp_base.py +0 -0
  88. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_visp_constants.py +0 -0
  89. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_wavelength_calibration.py +0 -0
  90. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_workflows.py +0 -0
  91. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_write_dataset_extras.py +0 -0
  92. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/tests/test_write_l1.py +0 -0
  93. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/workflows/__init__.py +0 -0
  94. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/workflows/l0_processing.py +0 -0
  95. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/workflows/single_task_workflows.py +0 -0
  96. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp/workflows/trial_workflows.py +0 -0
  97. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp.egg-info/SOURCES.txt +0 -0
  98. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp.egg-info/dependency_links.txt +0 -0
  99. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp.egg-info/scm_file_list.json +81 -81
  100. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/dkist_processing_visp.egg-info/top_level.txt +0 -0
  101. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/docs/Makefile +0 -0
  102. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/docs/background_light.rst +0 -0
  103. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/docs/changelog.rst +0 -0
  104. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/docs/conf.py +0 -0
  105. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/docs/dataset_extras.rst +0 -0
  106. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/docs/gain_correction.rst +0 -0
  107. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/docs/geometric.rst +0 -0
  108. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/docs/index.rst +0 -0
  109. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/docs/l0_to_l1_visp.rst +0 -0
  110. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/docs/l0_to_l1_visp_full-trial.rst +0 -0
  111. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/docs/landing_page.rst +0 -0
  112. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/docs/make.bat +0 -0
  113. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/docs/polarization_calibration.rst +0 -0
  114. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/docs/requirements.txt +0 -0
  115. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/docs/requirements_table.rst +0 -0
  116. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/docs/science_calibration.rst +0 -0
  117. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/docs/scientific_changelog.rst +0 -0
  118. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/docs/wavelength_calibration.rst +0 -0
  119. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/licenses/LICENSE.rst +0 -0
  120. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/science_towncrier.sh +0 -0
  121. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/setup.cfg +0 -0
  122. {dkist_processing_visp-5.7.23 → dkist_processing_visp-5.7.24}/towncrier_science.toml +0 -0
@@ -1,3 +1,12 @@
1
+ v5.7.24 (2026-07-08)
2
+ ====================
3
+
4
+ Misc
5
+ ----
6
+
7
+ - Convert ReadoutExposureTime in the time parser from a NamedTuple to a dataclass. (`#311 <https://bitbucket.org/dkistdc/dkist-processing-visp/pull-requests/311>`__)
8
+
9
+
1
10
  v5.7.23 (2026-07-07)
2
11
  ====================
3
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dkist-processing-visp
3
- Version: 5.7.23
3
+ Version: 5.7.24
4
4
  Summary: Science processing code for the ViSP instrument on DKIST
5
5
  Author-email: NSO / AURA <dkistdc@nso.edu>
6
6
  License: BSD-3-Clause
@@ -99,7 +99,6 @@ Requires-Dist: apache-airflow-providers-postgres==6.8.0; extra == "frozen"
99
99
  Requires-Dist: apache-airflow-providers-smtp==3.0.1; extra == "frozen"
100
100
  Requires-Dist: apache-airflow-providers-standard==1.15.0; extra == "frozen"
101
101
  Requires-Dist: apache-airflow-task-sdk==1.2.1; extra == "frozen"
102
- Requires-Dist: appnope==0.1.4; extra == "frozen"
103
102
  Requires-Dist: argcomplete==3.7.0; extra == "frozen"
104
103
  Requires-Dist: argon2-cffi==25.1.0; extra == "frozen"
105
104
  Requires-Dist: argon2-cffi-bindings==25.1.0; extra == "frozen"
@@ -118,8 +117,8 @@ Requires-Dist: babel==2.18.0; extra == "frozen"
118
117
  Requires-Dist: beautifulsoup4==4.15.0; extra == "frozen"
119
118
  Requires-Dist: billiard==4.2.4; extra == "frozen"
120
119
  Requires-Dist: bleach==6.4.0; extra == "frozen"
121
- Requires-Dist: boto3==1.43.41; extra == "frozen"
122
- Requires-Dist: botocore==1.43.41; extra == "frozen"
120
+ Requires-Dist: boto3==1.43.42; extra == "frozen"
121
+ Requires-Dist: botocore==1.43.42; extra == "frozen"
123
122
  Requires-Dist: cadwyn==7.1.0; extra == "frozen"
124
123
  Requires-Dist: celery==5.6.3; extra == "frozen"
125
124
  Requires-Dist: certifi==2026.6.17; extra == "frozen"
@@ -145,7 +144,7 @@ Requires-Dist: dkist-processing-common==14.3.4; extra == "frozen"
145
144
  Requires-Dist: dkist-processing-core==7.3.0; extra == "frozen"
146
145
  Requires-Dist: dkist-processing-math==2.2.3; extra == "frozen"
147
146
  Requires-Dist: dkist-processing-pac==3.1.2; extra == "frozen"
148
- Requires-Dist: dkist-processing-visp==5.7.23; extra == "frozen"
147
+ Requires-Dist: dkist-processing-visp==5.7.24; extra == "frozen"
149
148
  Requires-Dist: dkist-service-configuration==4.3.0; extra == "frozen"
150
149
  Requires-Dist: dkist-spectral-lines==3.0.1; extra == "frozen"
151
150
  Requires-Dist: dkist_fits_specifications==4.28.0; extra == "frozen"
@@ -153,7 +152,7 @@ Requires-Dist: dnspython==2.8.0; extra == "frozen"
153
152
  Requires-Dist: email-validator==2.3.0; extra == "frozen"
154
153
  Requires-Dist: executing==2.2.1; extra == "frozen"
155
154
  Requires-Dist: fastapi==0.139.0; extra == "frozen"
156
- Requires-Dist: fastapi-cli==0.0.28; extra == "frozen"
155
+ Requires-Dist: fastapi-cli==0.0.29; extra == "frozen"
157
156
  Requires-Dist: fastjsonschema==2.21.2; extra == "frozen"
158
157
  Requires-Dist: flower==2.0.1; extra == "frozen"
159
158
  Requires-Dist: fonttools==4.63.0; extra == "frozen"
@@ -165,7 +164,7 @@ Requires-Dist: googleapis-common-protos==1.75.0; extra == "frozen"
165
164
  Requires-Dist: gqlclient==2.0.0; extra == "frozen"
166
165
  Requires-Dist: greenback==1.3.0; extra == "frozen"
167
166
  Requires-Dist: greenlet==3.5.3; extra == "frozen"
168
- Requires-Dist: grpcio==1.82.0; extra == "frozen"
167
+ Requires-Dist: grpcio==1.82.1; extra == "frozen"
169
168
  Requires-Dist: h11==0.16.0; extra == "frozen"
170
169
  Requires-Dist: httpcore==1.0.9; extra == "frozen"
171
170
  Requires-Dist: httptools==0.8.0; extra == "frozen"
@@ -342,7 +341,7 @@ Requires-Dist: universal_pathlib==0.3.10; extra == "frozen"
342
341
  Requires-Dist: uri-template==1.3.0; extra == "frozen"
343
342
  Requires-Dist: urllib3==2.7.0; extra == "frozen"
344
343
  Requires-Dist: uuid6==2025.0.1; extra == "frozen"
345
- Requires-Dist: uvicorn==0.50.2; extra == "frozen"
344
+ Requires-Dist: uvicorn==0.51.0; extra == "frozen"
346
345
  Requires-Dist: uvloop==0.22.1; extra == "frozen"
347
346
  Requires-Dist: vine==5.1.0; extra == "frozen"
348
347
  Requires-Dist: voluptuous==0.16.0; extra == "frozen"
@@ -1,9 +1,9 @@
1
1
  """Stems for parsing constants and tags related to time header keys."""
2
2
 
3
+ from dataclasses import dataclass
3
4
  from datetime import datetime
4
5
  from datetime import timezone
5
6
  from typing import Callable
6
- from typing import NamedTuple
7
7
  from typing import Type
8
8
 
9
9
  from dkist_processing_common.models.fits_access import MetadataKey
@@ -59,8 +59,9 @@ class NonDarkNonPolcalTaskReadoutExpTimesBud(SetStem):
59
59
  return exposure_times
60
60
 
61
61
 
62
- class ReadoutExposureTimeContainer(NamedTuple):
63
- """Named tuple to hold whether the task is dark and/or polcal along with the associated exposure time."""
62
+ @dataclass(frozen=True, slots=True)
63
+ class ReadoutExposureTime:
64
+ """Dataclass to hold whether the task is dark and/or polcal along with the associated exposure time."""
64
65
 
65
66
  is_dark: bool
66
67
  is_polcal: bool
@@ -70,13 +71,11 @@ class ReadoutExposureTimeContainer(NamedTuple):
70
71
  class DarkReadoutExpTimePickyBud(ListStem):
71
72
  """Parse exposure times to ensure existence of the necessary DARK exposure times."""
72
73
 
73
- ReadoutExposureTime: ReadoutExposureTimeContainer = ReadoutExposureTimeContainer
74
-
75
74
  def __init__(self):
76
75
  super().__init__(stem_name=VispBudName.dark_readout_exp_time_picky_bud.value)
77
76
  self.metadata_key = MetadataKey.sensor_readout_exposure_time_ms.name
78
77
 
79
- def setter(self, fits_obj: VispL0FitsAccess) -> tuple:
78
+ def setter(self, fits_obj: VispL0FitsAccess) -> ReadoutExposureTime:
80
79
  """
81
80
  Set the task exposure time and whether it is a DARK task for this fits object.
82
81
 
@@ -86,16 +85,16 @@ class DarkReadoutExpTimePickyBud(ListStem):
86
85
  The input fits object
87
86
  Returns
88
87
  -------
89
- A tuple of a boolean indicating if the task type is dark and the exposure time associated with this fits object
88
+ A dataclass object indicating if the task type is dark and/or polcal and the exposure time associated with this fits object
90
89
  """
91
90
  raw_exposure_time = getattr(fits_obj, self.metadata_key)
92
91
  exposure_time = round(raw_exposure_time, EXP_TIME_ROUND_DIGITS)
93
92
  is_dark = fits_obj.ip_task_type.casefold() == TaskName.dark.value.casefold()
94
93
  is_polcal = fits_obj.ip_task_type.casefold() == TaskName.polcal.value.casefold()
95
-
96
- return self.ReadoutExposureTime(
94
+ readout_exposure_time = ReadoutExposureTime(
97
95
  is_dark=is_dark, is_polcal=is_polcal, readout_exposure_time=exposure_time
98
96
  )
97
+ return readout_exposure_time
99
98
 
100
99
  def getter(self) -> Type[Thorn]:
101
100
  """
@@ -110,15 +109,15 @@ class DarkReadoutExpTimePickyBud(ListStem):
110
109
  -------
111
110
  Thorn
112
111
  """
113
- readout_exp_tuples = self.value_list
112
+ readout_exp_times = self.value_list
114
113
 
115
114
  dark_readout_exp_times = {
116
- exp_time.readout_exposure_time for exp_time in readout_exp_tuples if exp_time.is_dark
115
+ exp_time.readout_exposure_time for exp_time in readout_exp_times if exp_time.is_dark
117
116
  }
118
117
 
119
118
  required_readout_exp_times = {
120
119
  exp_time.readout_exposure_time
121
- for exp_time in readout_exp_tuples
120
+ for exp_time in readout_exp_times
122
121
  if (not exp_time.is_dark and not exp_time.is_polcal)
123
122
  }
124
123
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dkist-processing-visp
3
- Version: 5.7.23
3
+ Version: 5.7.24
4
4
  Summary: Science processing code for the ViSP instrument on DKIST
5
5
  Author-email: NSO / AURA <dkistdc@nso.edu>
6
6
  License: BSD-3-Clause
@@ -99,7 +99,6 @@ Requires-Dist: apache-airflow-providers-postgres==6.8.0; extra == "frozen"
99
99
  Requires-Dist: apache-airflow-providers-smtp==3.0.1; extra == "frozen"
100
100
  Requires-Dist: apache-airflow-providers-standard==1.15.0; extra == "frozen"
101
101
  Requires-Dist: apache-airflow-task-sdk==1.2.1; extra == "frozen"
102
- Requires-Dist: appnope==0.1.4; extra == "frozen"
103
102
  Requires-Dist: argcomplete==3.7.0; extra == "frozen"
104
103
  Requires-Dist: argon2-cffi==25.1.0; extra == "frozen"
105
104
  Requires-Dist: argon2-cffi-bindings==25.1.0; extra == "frozen"
@@ -118,8 +117,8 @@ Requires-Dist: babel==2.18.0; extra == "frozen"
118
117
  Requires-Dist: beautifulsoup4==4.15.0; extra == "frozen"
119
118
  Requires-Dist: billiard==4.2.4; extra == "frozen"
120
119
  Requires-Dist: bleach==6.4.0; extra == "frozen"
121
- Requires-Dist: boto3==1.43.41; extra == "frozen"
122
- Requires-Dist: botocore==1.43.41; extra == "frozen"
120
+ Requires-Dist: boto3==1.43.42; extra == "frozen"
121
+ Requires-Dist: botocore==1.43.42; extra == "frozen"
123
122
  Requires-Dist: cadwyn==7.1.0; extra == "frozen"
124
123
  Requires-Dist: celery==5.6.3; extra == "frozen"
125
124
  Requires-Dist: certifi==2026.6.17; extra == "frozen"
@@ -145,7 +144,7 @@ Requires-Dist: dkist-processing-common==14.3.4; extra == "frozen"
145
144
  Requires-Dist: dkist-processing-core==7.3.0; extra == "frozen"
146
145
  Requires-Dist: dkist-processing-math==2.2.3; extra == "frozen"
147
146
  Requires-Dist: dkist-processing-pac==3.1.2; extra == "frozen"
148
- Requires-Dist: dkist-processing-visp==5.7.23; extra == "frozen"
147
+ Requires-Dist: dkist-processing-visp==5.7.24; extra == "frozen"
149
148
  Requires-Dist: dkist-service-configuration==4.3.0; extra == "frozen"
150
149
  Requires-Dist: dkist-spectral-lines==3.0.1; extra == "frozen"
151
150
  Requires-Dist: dkist_fits_specifications==4.28.0; extra == "frozen"
@@ -153,7 +152,7 @@ Requires-Dist: dnspython==2.8.0; extra == "frozen"
153
152
  Requires-Dist: email-validator==2.3.0; extra == "frozen"
154
153
  Requires-Dist: executing==2.2.1; extra == "frozen"
155
154
  Requires-Dist: fastapi==0.139.0; extra == "frozen"
156
- Requires-Dist: fastapi-cli==0.0.28; extra == "frozen"
155
+ Requires-Dist: fastapi-cli==0.0.29; extra == "frozen"
157
156
  Requires-Dist: fastjsonschema==2.21.2; extra == "frozen"
158
157
  Requires-Dist: flower==2.0.1; extra == "frozen"
159
158
  Requires-Dist: fonttools==4.63.0; extra == "frozen"
@@ -165,7 +164,7 @@ Requires-Dist: googleapis-common-protos==1.75.0; extra == "frozen"
165
164
  Requires-Dist: gqlclient==2.0.0; extra == "frozen"
166
165
  Requires-Dist: greenback==1.3.0; extra == "frozen"
167
166
  Requires-Dist: greenlet==3.5.3; extra == "frozen"
168
- Requires-Dist: grpcio==1.82.0; extra == "frozen"
167
+ Requires-Dist: grpcio==1.82.1; extra == "frozen"
169
168
  Requires-Dist: h11==0.16.0; extra == "frozen"
170
169
  Requires-Dist: httpcore==1.0.9; extra == "frozen"
171
170
  Requires-Dist: httptools==0.8.0; extra == "frozen"
@@ -342,7 +341,7 @@ Requires-Dist: universal_pathlib==0.3.10; extra == "frozen"
342
341
  Requires-Dist: uri-template==1.3.0; extra == "frozen"
343
342
  Requires-Dist: urllib3==2.7.0; extra == "frozen"
344
343
  Requires-Dist: uuid6==2025.0.1; extra == "frozen"
345
- Requires-Dist: uvicorn==0.50.2; extra == "frozen"
344
+ Requires-Dist: uvicorn==0.51.0; extra == "frozen"
346
345
  Requires-Dist: uvloop==0.22.1; extra == "frozen"
347
346
  Requires-Dist: vine==5.1.0; extra == "frozen"
348
347
  Requires-Dist: voluptuous==0.16.0; extra == "frozen"
@@ -64,7 +64,6 @@ apache-airflow-providers-postgres==6.8.0
64
64
  apache-airflow-providers-smtp==3.0.1
65
65
  apache-airflow-providers-standard==1.15.0
66
66
  apache-airflow-task-sdk==1.2.1
67
- appnope==0.1.4
68
67
  argcomplete==3.7.0
69
68
  argon2-cffi==25.1.0
70
69
  argon2-cffi-bindings==25.1.0
@@ -83,8 +82,8 @@ babel==2.18.0
83
82
  beautifulsoup4==4.15.0
84
83
  billiard==4.2.4
85
84
  bleach==6.4.0
86
- boto3==1.43.41
87
- botocore==1.43.41
85
+ boto3==1.43.42
86
+ botocore==1.43.42
88
87
  cadwyn==7.1.0
89
88
  celery==5.6.3
90
89
  certifi==2026.6.17
@@ -110,7 +109,7 @@ dkist-processing-common==14.3.4
110
109
  dkist-processing-core==7.3.0
111
110
  dkist-processing-math==2.2.3
112
111
  dkist-processing-pac==3.1.2
113
- dkist-processing-visp==5.7.23
112
+ dkist-processing-visp==5.7.24
114
113
  dkist-service-configuration==4.3.0
115
114
  dkist-spectral-lines==3.0.1
116
115
  dkist_fits_specifications==4.28.0
@@ -118,7 +117,7 @@ dnspython==2.8.0
118
117
  email-validator==2.3.0
119
118
  executing==2.2.1
120
119
  fastapi==0.139.0
121
- fastapi-cli==0.0.28
120
+ fastapi-cli==0.0.29
122
121
  fastjsonschema==2.21.2
123
122
  flower==2.0.1
124
123
  fonttools==4.63.0
@@ -130,7 +129,7 @@ googleapis-common-protos==1.75.0
130
129
  gqlclient==2.0.0
131
130
  greenback==1.3.0
132
131
  greenlet==3.5.3
133
- grpcio==1.82.0
132
+ grpcio==1.82.1
134
133
  h11==0.16.0
135
134
  httpcore==1.0.9
136
135
  httptools==0.8.0
@@ -307,7 +306,7 @@ universal_pathlib==0.3.10
307
306
  uri-template==1.3.0
308
307
  urllib3==2.7.0
309
308
  uuid6==2025.0.1
310
- uvicorn==0.50.2
309
+ uvicorn==0.51.0
311
310
  uvloop==0.22.1
312
311
  vine==5.1.0
313
312
  voluptuous==0.16.0
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "5.7.24",
3
+ "distance": 0,
4
+ "node": "gfc8376ee049c5d6fbe575d9acc4813bb847f223b",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-07-08"
8
+ }
@@ -9,8 +9,8 @@ exclude = ["build*"]
9
9
 
10
10
  [tool.dkist-dev-tools]
11
11
  # Most recently frozen version by dkist-dev-tools
12
- version = "5.7.23"
13
- date = 2026-07-07T12:02:02.970101
12
+ version = "5.7.24"
13
+ date = 2026-07-08T11:03:02.046389
14
14
 
15
15
  [project]
16
16
  dynamic = ["version"]
@@ -127,7 +127,6 @@ frozen = [
127
127
  "apache-airflow-providers-smtp == 3.0.1",
128
128
  "apache-airflow-providers-standard == 1.15.0",
129
129
  "apache-airflow-task-sdk == 1.2.1",
130
- "appnope == 0.1.4",
131
130
  "argcomplete == 3.7.0",
132
131
  "argon2-cffi == 25.1.0",
133
132
  "argon2-cffi-bindings == 25.1.0",
@@ -146,8 +145,8 @@ frozen = [
146
145
  "beautifulsoup4 == 4.15.0",
147
146
  "billiard == 4.2.4",
148
147
  "bleach == 6.4.0",
149
- "boto3 == 1.43.41",
150
- "botocore == 1.43.41",
148
+ "boto3 == 1.43.42",
149
+ "botocore == 1.43.42",
151
150
  "cadwyn == 7.1.0",
152
151
  "celery == 5.6.3",
153
152
  "certifi == 2026.6.17",
@@ -173,7 +172,7 @@ frozen = [
173
172
  "dkist-processing-core == 7.3.0",
174
173
  "dkist-processing-math == 2.2.3",
175
174
  "dkist-processing-pac == 3.1.2",
176
- "dkist-processing-visp == 5.7.23",
175
+ "dkist-processing-visp == 5.7.24",
177
176
  "dkist-service-configuration == 4.3.0",
178
177
  "dkist-spectral-lines == 3.0.1",
179
178
  "dkist_fits_specifications == 4.28.0",
@@ -181,7 +180,7 @@ frozen = [
181
180
  "email-validator == 2.3.0",
182
181
  "executing == 2.2.1",
183
182
  "fastapi == 0.139.0",
184
- "fastapi-cli == 0.0.28",
183
+ "fastapi-cli == 0.0.29",
185
184
  "fastjsonschema == 2.21.2",
186
185
  "flower == 2.0.1",
187
186
  "fonttools == 4.63.0",
@@ -193,7 +192,7 @@ frozen = [
193
192
  "gqlclient == 2.0.0",
194
193
  "greenback == 1.3.0",
195
194
  "greenlet == 3.5.3",
196
- "grpcio == 1.82.0",
195
+ "grpcio == 1.82.1",
197
196
  "h11 == 0.16.0",
198
197
  "httpcore == 1.0.9",
199
198
  "httptools == 0.8.0",
@@ -370,7 +369,7 @@ frozen = [
370
369
  "uri-template == 1.3.0",
371
370
  "urllib3 == 2.7.0",
372
371
  "uuid6 == 2025.0.1",
373
- "uvicorn == 0.50.2",
372
+ "uvicorn == 0.51.0",
374
373
  "uvloop == 0.22.1",
375
374
  "vine == 5.1.0",
376
375
  "voluptuous == 0.16.0",
@@ -1,8 +0,0 @@
1
- {
2
- "tag": "5.7.23",
3
- "distance": 0,
4
- "node": "gcb6decf5f1f5c31eb80745dbf4d0c8d59f68f4ca",
5
- "dirty": false,
6
- "branch": "HEAD",
7
- "node_date": "2026-07-07"
8
- }
@@ -1,116 +1,116 @@
1
1
  {
2
2
  "files": [
3
3
  "pyproject.toml",
4
- "README.rst",
5
- "bitbucket-pipelines.yml",
6
4
  "SCIENCE_CHANGELOG.rst",
7
- "CHANGELOG.rst",
5
+ "bitbucket-pipelines.yml",
6
+ ".snyk",
8
7
  "towncrier_science.toml",
9
8
  ".gitignore",
10
- ".snyk",
11
- ".readthedocs.yml",
9
+ "CHANGELOG.rst",
12
10
  "science_towncrier.sh",
11
+ ".readthedocs.yml",
12
+ "README.rst",
13
13
  ".pre-commit-config.yaml",
14
+ "changelog/.gitempty",
15
+ "docs/geometric.rst",
16
+ "docs/Makefile",
17
+ "docs/l0_to_l1_visp_full-trial.rst",
18
+ "docs/landing_page.rst",
19
+ "docs/gain_correction.rst",
20
+ "docs/index.rst",
21
+ "docs/wavelength_calibration.rst",
22
+ "docs/conf.py",
23
+ "docs/scientific_changelog.rst",
24
+ "docs/l0_to_l1_visp.rst",
25
+ "docs/make.bat",
26
+ "docs/changelog.rst",
27
+ "docs/polarization_calibration.rst",
28
+ "docs/dataset_extras.rst",
29
+ "docs/background_light.rst",
30
+ "docs/requirements.txt",
31
+ "docs/science_calibration.rst",
32
+ "docs/requirements_table.rst",
33
+ ".rovodev/.review-agent.md",
14
34
  "dkist_processing_visp/config.py",
15
35
  "dkist_processing_visp/__init__.py",
16
- "dkist_processing_visp/tasks/l1_output_data.py",
36
+ "dkist_processing_visp/tests/test_trial_create_quality_report.py",
37
+ "dkist_processing_visp/tests/test_geometric.py",
38
+ "dkist_processing_visp/tests/test_lamp.py",
39
+ "dkist_processing_visp/tests/test_write_dataset_extras.py",
40
+ "dkist_processing_visp/tests/test_write_l1.py",
41
+ "dkist_processing_visp/tests/test_assemble_movie.py",
42
+ "dkist_processing_visp/tests/test_quality.py",
43
+ "dkist_processing_visp/tests/test_downsample.py",
44
+ "dkist_processing_visp/tests/test_assemble_quality.py",
45
+ "dkist_processing_visp/tests/test_parameters.py",
46
+ "dkist_processing_visp/tests/test_dark.py",
47
+ "dkist_processing_visp/tests/test_science.py",
48
+ "dkist_processing_visp/tests/test_visp_constants.py",
49
+ "dkist_processing_visp/tests/test_workflows.py",
50
+ "dkist_processing_visp/tests/test_visp_base.py",
51
+ "dkist_processing_visp/tests/test_instrument_polarization.py",
52
+ "dkist_processing_visp/tests/test_map_repeats.py",
53
+ "dkist_processing_visp/tests/header_models.py",
54
+ "dkist_processing_visp/tests/test_solar.py",
55
+ "dkist_processing_visp/tests/test_background_light.py",
56
+ "dkist_processing_visp/tests/conftest.py",
57
+ "dkist_processing_visp/tests/test_parse.py",
58
+ "dkist_processing_visp/tests/test_fits_access.py",
59
+ "dkist_processing_visp/tests/test_polcal_as_science.py",
60
+ "dkist_processing_visp/tests/test_wavelength_calibration.py",
61
+ "dkist_processing_visp/tests/README.rst",
62
+ "dkist_processing_visp/tests/test_make_movie_frames.py",
63
+ "dkist_processing_visp/tests/__init__.py",
64
+ "dkist_processing_visp/tests/local_trial_workflows/l0_cals_only.py",
65
+ "dkist_processing_visp/tests/local_trial_workflows/local_trial_helpers.py",
66
+ "dkist_processing_visp/tests/local_trial_workflows/l0_solar_gain_as_science.py",
67
+ "dkist_processing_visp/tests/local_trial_workflows/l0_to_l1.py",
68
+ "dkist_processing_visp/tests/local_trial_workflows/l0_polcals_as_science.py",
69
+ "dkist_processing_visp/tests/local_trial_workflows/__init__.py",
70
+ "dkist_processing_visp/fonts/Lato-Regular.ttf",
17
71
  "dkist_processing_visp/tasks/write_dataset_extras.py",
18
- "dkist_processing_visp/tasks/visp_base.py",
72
+ "dkist_processing_visp/tasks/background_light.py",
73
+ "dkist_processing_visp/tasks/dark.py",
19
74
  "dkist_processing_visp/tasks/make_movie_frames.py",
20
- "dkist_processing_visp/tasks/polcal_as_science.py",
21
75
  "dkist_processing_visp/tasks/quality_metrics.py",
22
- "dkist_processing_visp/tasks/solar.py",
23
- "dkist_processing_visp/tasks/science.py",
76
+ "dkist_processing_visp/tasks/geometric.py",
24
77
  "dkist_processing_visp/tasks/wavelength_calibration.py",
25
- "dkist_processing_visp/tasks/lamp.py",
26
- "dkist_processing_visp/tasks/background_light.py",
78
+ "dkist_processing_visp/tasks/polcal_as_science.py",
79
+ "dkist_processing_visp/tasks/science.py",
27
80
  "dkist_processing_visp/tasks/write_l1.py",
28
- "dkist_processing_visp/tasks/geometric.py",
81
+ "dkist_processing_visp/tasks/visp_base.py",
29
82
  "dkist_processing_visp/tasks/assemble_movie.py",
30
83
  "dkist_processing_visp/tasks/parse.py",
31
84
  "dkist_processing_visp/tasks/instrument_polarization.py",
85
+ "dkist_processing_visp/tasks/solar.py",
86
+ "dkist_processing_visp/tasks/lamp.py",
87
+ "dkist_processing_visp/tasks/l1_output_data.py",
32
88
  "dkist_processing_visp/tasks/__init__.py",
33
- "dkist_processing_visp/tasks/dark.py",
34
89
  "dkist_processing_visp/tasks/mixin/corrections.py",
35
90
  "dkist_processing_visp/tasks/mixin/beam_access.py",
36
- "dkist_processing_visp/tasks/mixin/__init__.py",
37
91
  "dkist_processing_visp/tasks/mixin/downsample.py",
92
+ "dkist_processing_visp/tasks/mixin/__init__.py",
93
+ "dkist_processing_visp/workflows/trial_workflows.py",
94
+ "dkist_processing_visp/workflows/l0_processing.py",
95
+ "dkist_processing_visp/workflows/single_task_workflows.py",
96
+ "dkist_processing_visp/workflows/__init__.py",
38
97
  "dkist_processing_visp/parsers/time.py",
39
- "dkist_processing_visp/parsers/modulator_states.py",
40
98
  "dkist_processing_visp/parsers/raster_step.py",
41
- "dkist_processing_visp/parsers/spectrograph_configuration.py",
99
+ "dkist_processing_visp/parsers/map_repeats.py",
42
100
  "dkist_processing_visp/parsers/polarimeter_mode.py",
101
+ "dkist_processing_visp/parsers/spectrograph_configuration.py",
43
102
  "dkist_processing_visp/parsers/visp_l0_fits_access.py",
44
103
  "dkist_processing_visp/parsers/visp_l1_fits_access.py",
104
+ "dkist_processing_visp/parsers/modulator_states.py",
45
105
  "dkist_processing_visp/parsers/__init__.py",
46
- "dkist_processing_visp/parsers/map_repeats.py",
47
- "dkist_processing_visp/models/task_name.py",
48
106
  "dkist_processing_visp/models/parameters.py",
49
- "dkist_processing_visp/models/fits_access.py",
50
- "dkist_processing_visp/models/metric_code.py",
51
107
  "dkist_processing_visp/models/constants.py",
52
- "dkist_processing_visp/models/tags.py",
108
+ "dkist_processing_visp/models/task_name.py",
109
+ "dkist_processing_visp/models/fits_access.py",
53
110
  "dkist_processing_visp/models/dataset_extras.py",
111
+ "dkist_processing_visp/models/tags.py",
112
+ "dkist_processing_visp/models/metric_code.py",
54
113
  "dkist_processing_visp/models/__init__.py",
55
- "dkist_processing_visp/fonts/Lato-Regular.ttf",
56
- "dkist_processing_visp/tests/test_map_repeats.py",
57
- "dkist_processing_visp/tests/test_wavelength_calibration.py",
58
- "dkist_processing_visp/tests/test_dark.py",
59
- "dkist_processing_visp/tests/test_solar.py",
60
- "dkist_processing_visp/tests/test_visp_base.py",
61
- "dkist_processing_visp/tests/README.rst",
62
- "dkist_processing_visp/tests/test_parameters.py",
63
- "dkist_processing_visp/tests/test_parse.py",
64
- "dkist_processing_visp/tests/test_workflows.py",
65
- "dkist_processing_visp/tests/test_visp_constants.py",
66
- "dkist_processing_visp/tests/test_assemble_movie.py",
67
- "dkist_processing_visp/tests/test_assemble_quality.py",
68
- "dkist_processing_visp/tests/test_lamp.py",
69
- "dkist_processing_visp/tests/test_write_l1.py",
70
- "dkist_processing_visp/tests/conftest.py",
71
- "dkist_processing_visp/tests/test_downsample.py",
72
- "dkist_processing_visp/tests/test_polcal_as_science.py",
73
- "dkist_processing_visp/tests/test_write_dataset_extras.py",
74
- "dkist_processing_visp/tests/test_science.py",
75
- "dkist_processing_visp/tests/test_quality.py",
76
- "dkist_processing_visp/tests/header_models.py",
77
- "dkist_processing_visp/tests/test_fits_access.py",
78
- "dkist_processing_visp/tests/test_make_movie_frames.py",
79
- "dkist_processing_visp/tests/__init__.py",
80
- "dkist_processing_visp/tests/test_geometric.py",
81
- "dkist_processing_visp/tests/test_background_light.py",
82
- "dkist_processing_visp/tests/test_instrument_polarization.py",
83
- "dkist_processing_visp/tests/test_trial_create_quality_report.py",
84
- "dkist_processing_visp/tests/local_trial_workflows/l0_to_l1.py",
85
- "dkist_processing_visp/tests/local_trial_workflows/l0_cals_only.py",
86
- "dkist_processing_visp/tests/local_trial_workflows/local_trial_helpers.py",
87
- "dkist_processing_visp/tests/local_trial_workflows/l0_solar_gain_as_science.py",
88
- "dkist_processing_visp/tests/local_trial_workflows/l0_polcals_as_science.py",
89
- "dkist_processing_visp/tests/local_trial_workflows/__init__.py",
90
- "dkist_processing_visp/workflows/l0_processing.py",
91
- "dkist_processing_visp/workflows/single_task_workflows.py",
92
- "dkist_processing_visp/workflows/trial_workflows.py",
93
- "dkist_processing_visp/workflows/__init__.py",
94
- "changelog/.gitempty",
95
- ".rovodev/.review-agent.md",
96
- "docs/dataset_extras.rst",
97
- "docs/l0_to_l1_visp_full-trial.rst",
98
- "docs/wavelength_calibration.rst",
99
- "docs/changelog.rst",
100
- "docs/requirements_table.rst",
101
- "docs/scientific_changelog.rst",
102
- "docs/requirements.txt",
103
- "docs/gain_correction.rst",
104
- "docs/background_light.rst",
105
- "docs/landing_page.rst",
106
- "docs/conf.py",
107
- "docs/polarization_calibration.rst",
108
- "docs/index.rst",
109
- "docs/Makefile",
110
- "docs/geometric.rst",
111
- "docs/make.bat",
112
- "docs/l0_to_l1_visp.rst",
113
- "docs/science_calibration.rst",
114
114
  "licenses/LICENSE.rst"
115
115
  ]
116
116
  }