dkist-processing-common 14.4.0__tar.gz → 14.5.0rc1__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 (148) hide show
  1. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/PKG-INFO +2 -2
  2. dkist_processing_common-14.5.0rc1/changelog/348.misc.1.rst +1 -0
  3. dkist_processing_common-14.5.0rc1/changelog/348.misc.2.rst +2 -0
  4. dkist_processing_common-14.5.0rc1/changelog/348.misc.rst +2 -0
  5. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/write_extra.py +1 -2
  6. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/write_l1.py +2 -6
  7. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/conftest.py +17 -38
  8. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common.egg-info/PKG-INFO +2 -2
  9. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common.egg-info/SOURCES.txt +3 -0
  10. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common.egg-info/requires.txt +1 -1
  11. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common.egg-info/scm_file_list.json +3 -0
  12. dkist_processing_common-14.5.0rc1/dkist_processing_common.egg-info/scm_version.json +8 -0
  13. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/pyproject.toml +1 -1
  14. dkist_processing_common-14.4.0/dkist_processing_common.egg-info/scm_version.json +0 -8
  15. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/.gitignore +0 -0
  16. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/.pre-commit-config.yaml +0 -0
  17. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/.readthedocs.yml +0 -0
  18. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/.rovodev/.review-agent.md +0 -0
  19. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/.snyk +0 -0
  20. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/CHANGELOG.rst +0 -0
  21. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/README.rst +0 -0
  22. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/bitbucket-pipelines.yml +0 -0
  23. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/changelog/.gitempty +0 -0
  24. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/__init__.py +0 -0
  25. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/_util/__init__.py +0 -0
  26. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/_util/constants.py +0 -0
  27. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/_util/graphql.py +0 -0
  28. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/_util/scratch.py +0 -0
  29. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/_util/tags.py +0 -0
  30. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/codecs/__init__.py +0 -0
  31. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/codecs/array.py +0 -0
  32. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/codecs/asdf.py +0 -0
  33. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/codecs/basemodel.py +0 -0
  34. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/codecs/bytes.py +0 -0
  35. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/codecs/fits.py +0 -0
  36. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/codecs/iobase.py +0 -0
  37. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/codecs/json.py +0 -0
  38. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/codecs/path.py +0 -0
  39. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/codecs/quality.py +0 -0
  40. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/codecs/str.py +0 -0
  41. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/config.py +0 -0
  42. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/fonts/Lato-Regular.ttf +0 -0
  43. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/fonts/__init__.py +0 -0
  44. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/manual.py +0 -0
  45. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/models/__init__.py +0 -0
  46. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/models/constants.py +0 -0
  47. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/models/dkist_location.py +0 -0
  48. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/models/extras.py +0 -0
  49. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/models/fits_access.py +0 -0
  50. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/models/flower_pot.py +0 -0
  51. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/models/fried_parameter.py +0 -0
  52. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/models/graphql.py +0 -0
  53. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/models/input_dataset.py +0 -0
  54. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/models/message.py +0 -0
  55. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/models/message_queue_binding.py +0 -0
  56. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/models/metric_code.py +0 -0
  57. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/models/parameters.py +0 -0
  58. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/models/quality.py +0 -0
  59. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/models/tags.py +0 -0
  60. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/models/task_name.py +0 -0
  61. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/models/telemetry.py +0 -0
  62. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/models/wavelength.py +0 -0
  63. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/parsers/__init__.py +0 -0
  64. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/parsers/average_bud.py +0 -0
  65. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/parsers/cs_step.py +0 -0
  66. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/parsers/dsps_repeat.py +0 -0
  67. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/parsers/experiment_id_bud.py +0 -0
  68. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/parsers/id_bud.py +0 -0
  69. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/parsers/l0_fits_access.py +0 -0
  70. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/parsers/l1_fits_access.py +0 -0
  71. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/parsers/lookup_bud.py +0 -0
  72. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/parsers/near_bud.py +0 -0
  73. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/parsers/observing_program_id_bud.py +0 -0
  74. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/parsers/proposal_id_bud.py +0 -0
  75. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/parsers/quality.py +0 -0
  76. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/parsers/retarder.py +0 -0
  77. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/parsers/single_value_single_key_flower.py +0 -0
  78. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/parsers/task.py +0 -0
  79. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/parsers/time.py +0 -0
  80. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/parsers/unique_bud.py +0 -0
  81. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/parsers/wavelength.py +0 -0
  82. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/__init__.py +0 -0
  83. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/assemble_movie.py +0 -0
  84. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/base.py +0 -0
  85. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/l1_output_data.py +0 -0
  86. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/mixin/__init__.py +0 -0
  87. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/mixin/globus.py +0 -0
  88. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/mixin/interservice_bus.py +0 -0
  89. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/mixin/metadata_store.py +0 -0
  90. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/mixin/object_store.py +0 -0
  91. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/mixin/quality/__init__.py +0 -0
  92. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/mixin/quality/_base.py +0 -0
  93. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/mixin/quality/_metrics.py +0 -0
  94. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/output_data_base.py +0 -0
  95. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/parse_l0_input_data.py +0 -0
  96. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/quality_metrics.py +0 -0
  97. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/teardown.py +0 -0
  98. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/transfer_input_data.py +0 -0
  99. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/trial_catalog.py +0 -0
  100. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/trial_output_data.py +0 -0
  101. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tasks/write_l1_base.py +0 -0
  102. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/__init__.py +0 -0
  103. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/mock_metadata_store.py +0 -0
  104. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_assemble_movie.py +0 -0
  105. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_assemble_quality.py +0 -0
  106. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_base.py +0 -0
  107. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_codecs.py +0 -0
  108. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_constants.py +0 -0
  109. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_construct_dataset_extras.py +0 -0
  110. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_cs_step.py +0 -0
  111. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_dkist_location.py +0 -0
  112. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_fits_access.py +0 -0
  113. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_flower_pot.py +0 -0
  114. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_fried_parameter.py +0 -0
  115. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_input_dataset.py +0 -0
  116. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_interservice_bus.py +0 -0
  117. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_interservice_bus_mixin.py +0 -0
  118. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_manual_processing.py +0 -0
  119. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_output_data_base.py +0 -0
  120. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_parameters.py +0 -0
  121. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_parse_l0_input_data.py +0 -0
  122. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_publish_catalog_messages.py +0 -0
  123. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_quality.py +0 -0
  124. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_quality_mixin.py +0 -0
  125. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_scratch.py +0 -0
  126. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_stems.py +0 -0
  127. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_submit_dataset_metadata.py +0 -0
  128. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_tags.py +0 -0
  129. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_task_name.py +0 -0
  130. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_task_parsing.py +0 -0
  131. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_teardown.py +0 -0
  132. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_transfer_input_data.py +0 -0
  133. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_transfer_l1_output_data.py +0 -0
  134. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_trial_catalog.py +0 -0
  135. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_trial_output_data.py +0 -0
  136. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_workflow_task_base.py +0 -0
  137. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common/tests/test_write_l1.py +0 -0
  138. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common.egg-info/dependency_links.txt +0 -0
  139. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/dkist_processing_common.egg-info/top_level.txt +0 -0
  140. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/docs/Makefile +0 -0
  141. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/docs/changelog.rst +0 -0
  142. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/docs/conf.py +0 -0
  143. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/docs/index.rst +0 -0
  144. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/docs/landing_page.rst +0 -0
  145. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/docs/make.bat +0 -0
  146. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/docs/requirements.txt +0 -0
  147. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/licenses/LICENSE.rst +0 -0
  148. {dkist_processing_common-14.4.0 → dkist_processing_common-14.5.0rc1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dkist-processing-common
3
- Version: 14.4.0
3
+ Version: 14.5.0rc1
4
4
  Summary: Common task classes used by the DKIST science data processing pipelines
5
5
  Author-email: NSO / AURA <dkistdc@nso.edu>
6
6
  License: BSD-3-Clause
@@ -16,7 +16,7 @@ Description-Content-Type: text/x-rst
16
16
  Requires-Dist: asdf<6.0,>=3.5.0
17
17
  Requires-Dist: astropy>=7.0.0
18
18
  Requires-Dist: dkist-fits-specifications<5.0,>=4.24.0
19
- Requires-Dist: dkist-header-validator<6.0,>=5.3.0
19
+ Requires-Dist: dkist-header-validator==v5.4.1rc1
20
20
  Requires-Dist: dkist-processing-core==7.5.0
21
21
  Requires-Dist: dkist-processing-pac<4.0,>=3.1
22
22
  Requires-Dist: dkist-service-configuration<5.0,>=4.3.0
@@ -0,0 +1 @@
1
+ Simplify calls to `dkist-header-validator` methods in the Write L1 and Write Extras tasks.
@@ -0,0 +1,2 @@
1
+ Remove call to `remove_extra_axis_keys` in the Write L1 task. The function was not
2
+ working as desired and has been deleted.
@@ -0,0 +1,2 @@
1
+ Replace `validate_and_translate_to_214_l0` methods in tests by instantiating the
2
+ Dataset with "level0_spec214" file schema.
@@ -342,8 +342,7 @@ class WriteL1DatasetExtras(WriteL1Base, ABC):
342
342
  if self.validate_l1_on_write:
343
343
  # Replace this logic with the fits_header_decoder once FITS library keys have been removed from the SPEC
344
344
  with fits.open(self.scratch.absolute_path(filename)) as hdul:
345
- header = hdul[1].header
346
- spec_extras_validator.validate(header, extra=False)
345
+ spec_extras_validator.validate(hdul, extra=False)
347
346
 
348
347
  logger.info(f"Wrote dataset extra to {filename}.")
349
348
 
@@ -15,7 +15,6 @@ from astropy.time import Time
15
15
  from dkist_fits_specifications import __version__ as spec_version
16
16
  from dkist_fits_specifications.utils.formatter import reformat_spec214_header
17
17
  from dkist_header_validator import spec214_validator
18
- from dkist_header_validator.translator import remove_extra_axis_keys
19
18
  from dkist_header_validator.translator import remove_spec_122_keys_and_spec_214_l0_keys
20
19
  from dkist_spectral_lines.search import get_closest_spectral_line
21
20
  from dkist_spectral_lines.search import get_spectral_lines
@@ -104,8 +103,7 @@ class WriteL1Frame(WriteL1Base, ABC):
104
103
  if self.validate_l1_on_write:
105
104
  # Replace this logic with the fits_header_decoder once FITS library keys have been removed from the SPEC
106
105
  with fits.open(self.scratch.absolute_path(relative_path)) as hdul:
107
- header = hdul[1].header
108
- spec214_validator.validate(header, extra=False)
106
+ spec214_validator.validate(hdul, extra=False)
109
107
 
110
108
  def replace_header_values(self, header: fits.Header, data: np.ndarray) -> fits.Header:
111
109
  """Replace header values that should already exist with new values."""
@@ -349,9 +347,7 @@ class WriteL1Frame(WriteL1Base, ABC):
349
347
  # Add the spectral line headers
350
348
  header = self.add_spectral_line_headers(header=header)
351
349
  # Remove any headers not contained in spec 214
352
- header = remove_spec_122_keys_and_spec_214_l0_keys(input_headers=header)
353
- # Remove any keys referring to axes that don't exist
354
- header = remove_extra_axis_keys(input_headers=header)
350
+ header = remove_spec_122_keys_and_spec_214_l0_keys(header)
355
351
  return header
356
352
 
357
353
  def add_doc_headers(self, header: fits.Header) -> fits.Header:
@@ -112,6 +112,7 @@ class CommonDataset(Spec122Dataset):
112
112
  dataset_shape=(2, 10, 10),
113
113
  instrument="visp",
114
114
  start_time=datetime(2020, 1, 1, 0, 0, 0, 0),
115
+ file_schema="level0_spec214",
115
116
  )
116
117
 
117
118
  self.add_constant_key("TELEVATN", 6.28)
@@ -150,13 +151,7 @@ def complete_common_header():
150
151
  A header with some common by-frame keywords
151
152
  """
152
153
  ds = CommonDataset()
153
- header_list = [
154
- spec122_validator.validate_and_translate_to_214_l0(d.header(), return_type=fits.HDUList)[
155
- 0
156
- ].header
157
- for d in ds
158
- ]
159
-
154
+ header_list = [fits.Header(d.header()) for d in ds]
160
155
  return header_list[0]
161
156
 
162
157
 
@@ -166,12 +161,7 @@ def complete_polarimetric_header():
166
161
  A header with some common by-frame keywords
167
162
  """
168
163
  ds = CommonDataset(polarimetric=True)
169
- header_list = [
170
- spec122_validator.validate_and_translate_to_214_l0(d.header(), return_type=fits.HDUList)[
171
- 0
172
- ].header
173
- for d in ds
174
- ]
164
+ header_list = [fits.Header(d.header()) for d in ds]
175
165
 
176
166
  return header_list[0]
177
167
 
@@ -237,6 +227,7 @@ class CalibrationSequenceDataset(Spec122Dataset):
237
227
  time_delta,
238
228
  instrument=instrument,
239
229
  start_time=datetime(2020, 1, 1, 0, 0, 0),
230
+ file_schema="level0_spec214",
240
231
  )
241
232
  self.add_constant_key("DKIST004", "polcal")
242
233
  self.add_constant_key("TELEVATN", 6.28)
@@ -281,6 +272,7 @@ class NonPolCalDataset(Spec122Dataset):
281
272
  time_delta=1,
282
273
  instrument="visp",
283
274
  start_time=datetime(2020, 1, 1, 0, 0, 0),
275
+ file_schema="level0_spec214",
284
276
  ) # Instrument doesn't matter
285
277
  self.add_constant_key("DKIST004", "dark") # Anything that's not polcal
286
278
  self.add_constant_key("ID___013", "PROPOSAL_ID1")
@@ -339,12 +331,8 @@ def grouped_cal_sequence_fits_objs(
339
331
  num_frames_per_CS_step=num_frames_per_cs_step,
340
332
  num_modstates=num_modstates,
341
333
  )
342
- header_list = [
343
- spec122_validator.validate_and_translate_to_214_l0(d.header(), return_type=fits.HDUList)[
344
- 0
345
- ].header
346
- for d in ds
347
- ]
334
+ header_list = [fits.Header(d.header()) for d in ds]
335
+
348
336
  expected_cs_dict = defaultdict(list)
349
337
  for i in range(ds.num_steps):
350
338
  for m in range(ds.num_modstates):
@@ -367,12 +355,8 @@ def grouped_cal_sequence_modstate_fits_objs(
367
355
  num_frames_per_CS_step=num_frames_per_cs_step,
368
356
  num_modstates=num_modstates,
369
357
  )
370
- header_list = [
371
- spec122_validator.validate_and_translate_to_214_l0(d.header(), return_type=fits.HDUList)[
372
- 0
373
- ].header
374
- for d in ds
375
- ]
358
+ header_list = [fits.Header(d.header()) for d in ds]
359
+
376
360
  expected_cs_dict = defaultdict(lambda: defaultdict(list))
377
361
  for i in range(ds.num_steps):
378
362
  for m in range(ds.num_modstates):
@@ -387,12 +371,7 @@ def grouped_cal_sequence_modstate_fits_objs(
387
371
  @pytest.fixture(scope="session")
388
372
  def non_polcal_fits_objs() -> list[L0FitsAccess]:
389
373
  ds = NonPolCalDataset()
390
- header_list = [
391
- spec122_validator.validate_and_translate_to_214_l0(d.header(), return_type=fits.HDUList)[
392
- 0
393
- ].header
394
- for d in ds
395
- ]
374
+ header_list = [fits.Header(d.header()) for d in ds]
396
375
  obj_list = [L0FitsAccess(header=h) for h in header_list]
397
376
  return obj_list
398
377
 
@@ -447,7 +426,12 @@ class CalibrationSequenceStepDataset(Spec122Dataset):
447
426
  self.dark_status = dark_status
448
427
  dataset_shape = (self.num_mod,) + array_shape[1:]
449
428
  super().__init__(
450
- dataset_shape, array_shape, time_delta, instrument=instrument, start_time=start_time
429
+ dataset_shape,
430
+ array_shape,
431
+ time_delta,
432
+ instrument=instrument,
433
+ start_time=start_time,
434
+ file_schema="level0_spec214",
451
435
  )
452
436
  self.add_constant_key("DKIST004", "polcal")
453
437
  self.add_constant_key("WAVELNTH", 666.0)
@@ -564,12 +548,7 @@ def cs_with_correct_geometry(cs_data_shape):
564
548
  start_time=start_time,
565
549
  num_mod=10,
566
550
  )
567
- header_list = [
568
- spec122_validator.validate_and_translate_to_214_l0(
569
- d.header(), return_type=fits.HDUList
570
- )[0].header
571
- for d in ds
572
- ]
551
+ header_list = [fits.Header(d.header()) for d in ds]
573
552
  hdu_list = []
574
553
  for m in range(ds.num_mod):
575
554
  hdu_list.append(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dkist-processing-common
3
- Version: 14.4.0
3
+ Version: 14.5.0rc1
4
4
  Summary: Common task classes used by the DKIST science data processing pipelines
5
5
  Author-email: NSO / AURA <dkistdc@nso.edu>
6
6
  License: BSD-3-Clause
@@ -16,7 +16,7 @@ Description-Content-Type: text/x-rst
16
16
  Requires-Dist: asdf<6.0,>=3.5.0
17
17
  Requires-Dist: astropy>=7.0.0
18
18
  Requires-Dist: dkist-fits-specifications<5.0,>=4.24.0
19
- Requires-Dist: dkist-header-validator<6.0,>=5.3.0
19
+ Requires-Dist: dkist-header-validator==v5.4.1rc1
20
20
  Requires-Dist: dkist-processing-core==7.5.0
21
21
  Requires-Dist: dkist-processing-pac<4.0,>=3.1
22
22
  Requires-Dist: dkist-service-configuration<5.0,>=4.3.0
@@ -8,6 +8,9 @@ bitbucket-pipelines.yml
8
8
  pyproject.toml
9
9
  .rovodev/.review-agent.md
10
10
  changelog/.gitempty
11
+ changelog/348.misc.1.rst
12
+ changelog/348.misc.2.rst
13
+ changelog/348.misc.rst
11
14
  dkist_processing_common/__init__.py
12
15
  dkist_processing_common/config.py
13
16
  dkist_processing_common/manual.py
@@ -1,7 +1,7 @@
1
1
  asdf<6.0,>=3.5.0
2
2
  astropy>=7.0.0
3
3
  dkist-fits-specifications<5.0,>=4.24.0
4
- dkist-header-validator<6.0,>=5.3.0
4
+ dkist-header-validator==v5.4.1rc1
5
5
  dkist-processing-core==7.5.0
6
6
  dkist-processing-pac<4.0,>=3.1
7
7
  dkist-service-configuration<5.0,>=4.3.0
@@ -9,6 +9,9 @@
9
9
  "README.rst",
10
10
  "bitbucket-pipelines.yml",
11
11
  "changelog/.gitempty",
12
+ "changelog/348.misc.1.rst",
13
+ "changelog/348.misc.2.rst",
14
+ "changelog/348.misc.rst",
12
15
  "dkist_processing_common/__init__.py",
13
16
  "dkist_processing_common/_util/__init__.py",
14
17
  "dkist_processing_common/_util/constants.py",
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "14.5.0rc1",
3
+ "distance": 0,
4
+ "node": "g53558c6ddfeb75f20897f6a78ef9ab07ed24e4e5",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-08-28"
8
+ }
@@ -24,7 +24,7 @@ dependencies = [
24
24
  "asdf >= 3.5.0, <6.0",
25
25
  "astropy >= 7.0.0",
26
26
  "dkist-fits-specifications >= 4.24.0, <5.0",
27
- "dkist-header-validator >= 5.3.0, <6.0",
27
+ "dkist-header-validator == v5.4.1rc1", # TODO: change to >6.0"
28
28
  "dkist-processing-core == 7.5.0",
29
29
  "dkist-processing-pac >= 3.1, <4.0",
30
30
  "dkist-service-configuration >= 4.3.0, <5.0",
@@ -1,8 +0,0 @@
1
- {
2
- "tag": "14.4.0",
3
- "distance": 0,
4
- "node": "g03f7e0aad3e664b565bb1157eae944f016af3c30",
5
- "dirty": false,
6
- "branch": "HEAD",
7
- "node_date": "2026-08-25"
8
- }