dkist-processing-common 14.3.3__tar.gz → 14.3.5__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 (145) hide show
  1. dkist_processing_common-14.3.5/.snyk +13 -0
  2. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/CHANGELOG.rst +18 -0
  3. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/PKG-INFO +4 -2
  4. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/README.rst +2 -0
  5. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/write_l1.py +7 -2
  6. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_write_l1.py +33 -0
  7. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common.egg-info/PKG-INFO +4 -2
  8. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common.egg-info/SOURCES.txt +2 -0
  9. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common.egg-info/requires.txt +1 -1
  10. dkist_processing_common-14.3.5/dkist_processing_common.egg-info/scm_file_list.json +139 -0
  11. dkist_processing_common-14.3.5/dkist_processing_common.egg-info/scm_version.json +8 -0
  12. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/pyproject.toml +1 -1
  13. dkist_processing_common-14.3.3/.snyk +0 -2
  14. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/.gitignore +0 -0
  15. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/.pre-commit-config.yaml +0 -0
  16. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/.readthedocs.yml +0 -0
  17. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/.rovodev/.review-agent.md +0 -0
  18. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/bitbucket-pipelines.yml +0 -0
  19. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/changelog/.gitempty +0 -0
  20. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/__init__.py +0 -0
  21. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/_util/__init__.py +0 -0
  22. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/_util/constants.py +0 -0
  23. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/_util/graphql.py +0 -0
  24. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/_util/scratch.py +0 -0
  25. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/_util/tags.py +0 -0
  26. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/codecs/__init__.py +0 -0
  27. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/codecs/array.py +0 -0
  28. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/codecs/asdf.py +0 -0
  29. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/codecs/basemodel.py +0 -0
  30. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/codecs/bytes.py +0 -0
  31. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/codecs/fits.py +0 -0
  32. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/codecs/iobase.py +0 -0
  33. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/codecs/json.py +0 -0
  34. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/codecs/path.py +0 -0
  35. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/codecs/quality.py +0 -0
  36. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/codecs/str.py +0 -0
  37. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/config.py +0 -0
  38. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/fonts/Lato-Regular.ttf +0 -0
  39. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/fonts/__init__.py +0 -0
  40. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/manual.py +0 -0
  41. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/models/__init__.py +0 -0
  42. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/models/constants.py +0 -0
  43. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/models/dkist_location.py +0 -0
  44. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/models/extras.py +0 -0
  45. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/models/fits_access.py +0 -0
  46. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/models/flower_pot.py +0 -0
  47. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/models/fried_parameter.py +0 -0
  48. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/models/graphql.py +0 -0
  49. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/models/input_dataset.py +0 -0
  50. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/models/message.py +0 -0
  51. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/models/message_queue_binding.py +0 -0
  52. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/models/metric_code.py +0 -0
  53. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/models/parameters.py +0 -0
  54. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/models/quality.py +0 -0
  55. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/models/tags.py +0 -0
  56. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/models/task_name.py +0 -0
  57. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/models/telemetry.py +0 -0
  58. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/models/wavelength.py +0 -0
  59. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/parsers/__init__.py +0 -0
  60. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/parsers/average_bud.py +0 -0
  61. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/parsers/cs_step.py +0 -0
  62. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/parsers/dsps_repeat.py +0 -0
  63. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/parsers/experiment_id_bud.py +0 -0
  64. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/parsers/id_bud.py +0 -0
  65. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/parsers/l0_fits_access.py +0 -0
  66. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/parsers/l1_fits_access.py +0 -0
  67. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/parsers/lookup_bud.py +0 -0
  68. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/parsers/near_bud.py +0 -0
  69. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/parsers/observing_program_id_bud.py +0 -0
  70. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/parsers/proposal_id_bud.py +0 -0
  71. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/parsers/quality.py +0 -0
  72. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/parsers/retarder.py +0 -0
  73. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/parsers/single_value_single_key_flower.py +0 -0
  74. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/parsers/task.py +0 -0
  75. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/parsers/time.py +0 -0
  76. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/parsers/unique_bud.py +0 -0
  77. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/parsers/wavelength.py +0 -0
  78. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/__init__.py +0 -0
  79. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/assemble_movie.py +0 -0
  80. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/base.py +0 -0
  81. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/l1_output_data.py +0 -0
  82. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/mixin/__init__.py +0 -0
  83. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/mixin/globus.py +0 -0
  84. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/mixin/interservice_bus.py +0 -0
  85. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/mixin/metadata_store.py +0 -0
  86. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/mixin/object_store.py +0 -0
  87. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/mixin/quality/__init__.py +0 -0
  88. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/mixin/quality/_base.py +0 -0
  89. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/mixin/quality/_metrics.py +0 -0
  90. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/output_data_base.py +0 -0
  91. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/parse_l0_input_data.py +0 -0
  92. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/quality_metrics.py +0 -0
  93. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/teardown.py +0 -0
  94. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/transfer_input_data.py +0 -0
  95. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/trial_catalog.py +0 -0
  96. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/trial_output_data.py +0 -0
  97. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/write_extra.py +0 -0
  98. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tasks/write_l1_base.py +0 -0
  99. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/__init__.py +0 -0
  100. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/conftest.py +0 -0
  101. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/mock_metadata_store.py +0 -0
  102. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_assemble_movie.py +0 -0
  103. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_assemble_quality.py +0 -0
  104. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_base.py +0 -0
  105. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_codecs.py +0 -0
  106. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_constants.py +0 -0
  107. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_construct_dataset_extras.py +0 -0
  108. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_cs_step.py +0 -0
  109. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_dkist_location.py +0 -0
  110. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_fits_access.py +0 -0
  111. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_flower_pot.py +0 -0
  112. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_fried_parameter.py +0 -0
  113. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_input_dataset.py +0 -0
  114. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_interservice_bus.py +0 -0
  115. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_interservice_bus_mixin.py +0 -0
  116. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_manual_processing.py +0 -0
  117. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_output_data_base.py +0 -0
  118. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_parameters.py +0 -0
  119. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_parse_l0_input_data.py +0 -0
  120. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_publish_catalog_messages.py +0 -0
  121. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_quality.py +0 -0
  122. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_quality_mixin.py +0 -0
  123. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_scratch.py +0 -0
  124. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_stems.py +0 -0
  125. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_submit_dataset_metadata.py +0 -0
  126. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_tags.py +0 -0
  127. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_task_name.py +0 -0
  128. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_task_parsing.py +0 -0
  129. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_teardown.py +0 -0
  130. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_transfer_input_data.py +0 -0
  131. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_transfer_l1_output_data.py +0 -0
  132. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_trial_catalog.py +0 -0
  133. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_trial_output_data.py +0 -0
  134. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common/tests/test_workflow_task_base.py +0 -0
  135. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common.egg-info/dependency_links.txt +0 -0
  136. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/dkist_processing_common.egg-info/top_level.txt +0 -0
  137. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/docs/Makefile +0 -0
  138. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/docs/changelog.rst +0 -0
  139. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/docs/conf.py +0 -0
  140. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/docs/index.rst +0 -0
  141. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/docs/landing_page.rst +0 -0
  142. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/docs/make.bat +0 -0
  143. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/docs/requirements.txt +0 -0
  144. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/licenses/LICENSE.rst +0 -0
  145. {dkist_processing_common-14.3.3 → dkist_processing_common-14.3.5}/setup.cfg +0 -0
@@ -0,0 +1,13 @@
1
+ # Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities
2
+ # https://docs.snyk.io/manage-risk/policies/the-.snyk-file#syntax-of-the-.snyk-file
3
+ version: v1.25.0
4
+ ignore:
5
+ SNYK-PYTHON-APACHEAIRFLOWCORE-17879182:
6
+ - "*" :
7
+ reason: 'Patched in Airflow 3.3.0, but we are not ready to upgrade till 3.3.1 or later'
8
+ expires: '2027-07-07T00:00:00.000Z'
9
+ SNYK-PYTHON-APACHEAIRFLOWCORE-17933331:
10
+ - '*':
11
+ reason: 'Ignored by bulk CI/CD Snyk policy update'
12
+ expires: '2099-12-31T23:59:59.999Z'
13
+ created: '2026-07-10T15:53:27.931Z'
@@ -1,3 +1,21 @@
1
+ v14.3.5 (2026-08-10)
2
+ ====================
3
+
4
+ Misc
5
+ ----
6
+
7
+ - Update `dkist-processing-core` to version 7.4.0 which includes support for multi-core and gpu resource queues. (`#349 <https://bitbucket.org/dkistdc/dkist-processing-common/pull-requests/349>`__)
8
+
9
+
10
+ v14.3.4 (2026-06-22)
11
+ ====================
12
+
13
+ Bugfixes
14
+ --------
15
+
16
+ - Harden writing statistics headers in the case where the data is very similar causing the kurtosis or skew calculations to return NaN. (`#347 <https://bitbucket.org/dkistdc/dkist-processing-common/pull-requests/347>`__)
17
+
18
+
1
19
  v14.3.3 (2026-06-11)
2
20
  ====================
3
21
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dkist-processing-common
3
- Version: 14.3.3
3
+ Version: 14.3.5
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
@@ -17,7 +17,7 @@ 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
19
  Requires-Dist: dkist-header-validator<6.0,>=5.3.0
20
- Requires-Dist: dkist-processing-core==7.3.0
20
+ Requires-Dist: dkist-processing-core==7.4.0
21
21
  Requires-Dist: dkist-processing-pac<4.0,>=3.1
22
22
  Requires-Dist: dkist-service-configuration<5.0,>=4.3.0
23
23
  Requires-Dist: dkist-spectral-lines<4.0,>=3.0.0
@@ -152,6 +152,8 @@ Environment Variables
152
152
  - annotation=int required=False default=5 description='Number of retries for pip installs.'
153
153
  * - IS_NOTEBOOK_EXECUTION_ENVIRONMENT
154
154
  - annotation=bool required=False default=False description='Indication of whether the code is running in a notebook execution environment.' examples=[True, False]
155
+ * - CPU_COUNT
156
+ - annotation=int required=False default=1 description='Number of CPUs available i.e. The maximum number of cores available for simultaneous execution.'
155
157
  * - NOTEBOOK_SAVE_WAIT_ATTEMPTS
156
158
  - annotation=int required=False default=120 description='Number of attempts to check for a saved notebook before raising an error.'
157
159
  * - NOTEBOOK_SAVE_WAIT_DELAY
@@ -87,6 +87,8 @@ Environment Variables
87
87
  - annotation=int required=False default=5 description='Number of retries for pip installs.'
88
88
  * - IS_NOTEBOOK_EXECUTION_ENVIRONMENT
89
89
  - annotation=bool required=False default=False description='Indication of whether the code is running in a notebook execution environment.' examples=[True, False]
90
+ * - CPU_COUNT
91
+ - annotation=int required=False default=1 description='Number of CPUs available i.e. The maximum number of cores available for simultaneous execution.'
90
92
  * - NOTEBOOK_SAVE_WAIT_ATTEMPTS
91
93
  - annotation=int required=False default=120 description='Number of attempts to check for a saved notebook before raising an error.'
92
94
  * - NOTEBOOK_SAVE_WAIT_DELAY
@@ -152,8 +152,13 @@ class WriteL1Frame(WriteL1Base, ABC):
152
152
  header["DATAP98"] = percentiles[9]
153
153
  header["DATAP99"] = percentiles[10]
154
154
  header["DATARMS"] = np.sqrt(np.mean(valid_data**2))
155
- header["DATAKURT"] = kurtosis(valid_data)
156
- header["DATASKEW"] = skew(valid_data)
155
+ # If the valid data is all very similar, kurtosis or skew can become NaN
156
+ datakurt = kurtosis(valid_data)
157
+ if np.isfinite(datakurt):
158
+ header["DATAKURT"] = datakurt
159
+ dataskew = skew(valid_data)
160
+ if np.isfinite(dataskew):
161
+ header["DATASKEW"] = dataskew
157
162
  return header
158
163
 
159
164
  def add_datacenter_headers(
@@ -776,3 +776,36 @@ def test_empty_waveband(write_l1_task_with_empty_waveband, mocker, fake_gql_clie
776
776
  assert header["WAVEMAX"] == 10050
777
777
  with pytest.raises(KeyError):
778
778
  header["WAVEBAND"]
779
+
780
+
781
+ @pytest.mark.parametrize(
782
+ "data, expected",
783
+ [
784
+ pytest.param(
785
+ np.array([1.0, 2.0, 3.0, 4.0, 5.0]),
786
+ True,
787
+ id="normal data array",
788
+ ),
789
+ pytest.param(
790
+ np.array([1.0, np.nan, np.nan, np.nan, 1.0]),
791
+ False,
792
+ id="NaN array with bad kurtosis and skew",
793
+ ),
794
+ ],
795
+ )
796
+ @pytest.mark.filterwarnings("ignore::RuntimeWarning")
797
+ def test_add_stats_headers(write_l1_task, data, expected):
798
+ """
799
+ :Given: a data array
800
+ :When: calculating the statistics table
801
+ :Then: kurtosis and skew appear in the header only if their calculated values are not NaN
802
+ """
803
+ task, _, _ = write_l1_task
804
+ header = fits.Header()
805
+ header = task.add_stats_headers(header=header, data=data)
806
+ if expected:
807
+ assert header["DATAKURT"] == -1.3
808
+ assert header["DATASKEW"] == 0
809
+ else:
810
+ assert "DATAKURT" not in header.keys()
811
+ assert "DATASKEW" not in header.keys()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dkist-processing-common
3
- Version: 14.3.3
3
+ Version: 14.3.5
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
@@ -17,7 +17,7 @@ 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
19
  Requires-Dist: dkist-header-validator<6.0,>=5.3.0
20
- Requires-Dist: dkist-processing-core==7.3.0
20
+ Requires-Dist: dkist-processing-core==7.4.0
21
21
  Requires-Dist: dkist-processing-pac<4.0,>=3.1
22
22
  Requires-Dist: dkist-service-configuration<5.0,>=4.3.0
23
23
  Requires-Dist: dkist-spectral-lines<4.0,>=3.0.0
@@ -152,6 +152,8 @@ Environment Variables
152
152
  - annotation=int required=False default=5 description='Number of retries for pip installs.'
153
153
  * - IS_NOTEBOOK_EXECUTION_ENVIRONMENT
154
154
  - annotation=bool required=False default=False description='Indication of whether the code is running in a notebook execution environment.' examples=[True, False]
155
+ * - CPU_COUNT
156
+ - annotation=int required=False default=1 description='Number of CPUs available i.e. The maximum number of cores available for simultaneous execution.'
155
157
  * - NOTEBOOK_SAVE_WAIT_ATTEMPTS
156
158
  - annotation=int required=False default=120 description='Number of attempts to check for a saved notebook before raising an error.'
157
159
  * - NOTEBOOK_SAVE_WAIT_DELAY
@@ -15,6 +15,8 @@ dkist_processing_common.egg-info/PKG-INFO
15
15
  dkist_processing_common.egg-info/SOURCES.txt
16
16
  dkist_processing_common.egg-info/dependency_links.txt
17
17
  dkist_processing_common.egg-info/requires.txt
18
+ dkist_processing_common.egg-info/scm_file_list.json
19
+ dkist_processing_common.egg-info/scm_version.json
18
20
  dkist_processing_common.egg-info/top_level.txt
19
21
  dkist_processing_common/_util/__init__.py
20
22
  dkist_processing_common/_util/constants.py
@@ -2,7 +2,7 @@ asdf<6.0,>=3.5.0
2
2
  astropy>=7.0.0
3
3
  dkist-fits-specifications<5.0,>=4.24.0
4
4
  dkist-header-validator<6.0,>=5.3.0
5
- dkist-processing-core==7.3.0
5
+ dkist-processing-core==7.4.0
6
6
  dkist-processing-pac<4.0,>=3.1
7
7
  dkist-service-configuration<5.0,>=4.3.0
8
8
  dkist-spectral-lines<4.0,>=3.0.0
@@ -0,0 +1,139 @@
1
+ {
2
+ "files": [
3
+ ".gitignore",
4
+ ".pre-commit-config.yaml",
5
+ ".readthedocs.yml",
6
+ ".rovodev/.review-agent.md",
7
+ ".snyk",
8
+ "CHANGELOG.rst",
9
+ "README.rst",
10
+ "bitbucket-pipelines.yml",
11
+ "changelog/.gitempty",
12
+ "dkist_processing_common/__init__.py",
13
+ "dkist_processing_common/_util/__init__.py",
14
+ "dkist_processing_common/_util/constants.py",
15
+ "dkist_processing_common/_util/graphql.py",
16
+ "dkist_processing_common/_util/scratch.py",
17
+ "dkist_processing_common/_util/tags.py",
18
+ "dkist_processing_common/codecs/__init__.py",
19
+ "dkist_processing_common/codecs/array.py",
20
+ "dkist_processing_common/codecs/asdf.py",
21
+ "dkist_processing_common/codecs/basemodel.py",
22
+ "dkist_processing_common/codecs/bytes.py",
23
+ "dkist_processing_common/codecs/fits.py",
24
+ "dkist_processing_common/codecs/iobase.py",
25
+ "dkist_processing_common/codecs/json.py",
26
+ "dkist_processing_common/codecs/path.py",
27
+ "dkist_processing_common/codecs/quality.py",
28
+ "dkist_processing_common/codecs/str.py",
29
+ "dkist_processing_common/config.py",
30
+ "dkist_processing_common/fonts/Lato-Regular.ttf",
31
+ "dkist_processing_common/fonts/__init__.py",
32
+ "dkist_processing_common/manual.py",
33
+ "dkist_processing_common/models/__init__.py",
34
+ "dkist_processing_common/models/constants.py",
35
+ "dkist_processing_common/models/dkist_location.py",
36
+ "dkist_processing_common/models/extras.py",
37
+ "dkist_processing_common/models/fits_access.py",
38
+ "dkist_processing_common/models/flower_pot.py",
39
+ "dkist_processing_common/models/fried_parameter.py",
40
+ "dkist_processing_common/models/graphql.py",
41
+ "dkist_processing_common/models/input_dataset.py",
42
+ "dkist_processing_common/models/message.py",
43
+ "dkist_processing_common/models/message_queue_binding.py",
44
+ "dkist_processing_common/models/metric_code.py",
45
+ "dkist_processing_common/models/parameters.py",
46
+ "dkist_processing_common/models/quality.py",
47
+ "dkist_processing_common/models/tags.py",
48
+ "dkist_processing_common/models/task_name.py",
49
+ "dkist_processing_common/models/telemetry.py",
50
+ "dkist_processing_common/models/wavelength.py",
51
+ "dkist_processing_common/parsers/__init__.py",
52
+ "dkist_processing_common/parsers/average_bud.py",
53
+ "dkist_processing_common/parsers/cs_step.py",
54
+ "dkist_processing_common/parsers/dsps_repeat.py",
55
+ "dkist_processing_common/parsers/experiment_id_bud.py",
56
+ "dkist_processing_common/parsers/id_bud.py",
57
+ "dkist_processing_common/parsers/l0_fits_access.py",
58
+ "dkist_processing_common/parsers/l1_fits_access.py",
59
+ "dkist_processing_common/parsers/lookup_bud.py",
60
+ "dkist_processing_common/parsers/near_bud.py",
61
+ "dkist_processing_common/parsers/observing_program_id_bud.py",
62
+ "dkist_processing_common/parsers/proposal_id_bud.py",
63
+ "dkist_processing_common/parsers/quality.py",
64
+ "dkist_processing_common/parsers/retarder.py",
65
+ "dkist_processing_common/parsers/single_value_single_key_flower.py",
66
+ "dkist_processing_common/parsers/task.py",
67
+ "dkist_processing_common/parsers/time.py",
68
+ "dkist_processing_common/parsers/unique_bud.py",
69
+ "dkist_processing_common/parsers/wavelength.py",
70
+ "dkist_processing_common/tasks/__init__.py",
71
+ "dkist_processing_common/tasks/assemble_movie.py",
72
+ "dkist_processing_common/tasks/base.py",
73
+ "dkist_processing_common/tasks/l1_output_data.py",
74
+ "dkist_processing_common/tasks/mixin/__init__.py",
75
+ "dkist_processing_common/tasks/mixin/globus.py",
76
+ "dkist_processing_common/tasks/mixin/interservice_bus.py",
77
+ "dkist_processing_common/tasks/mixin/metadata_store.py",
78
+ "dkist_processing_common/tasks/mixin/object_store.py",
79
+ "dkist_processing_common/tasks/mixin/quality/__init__.py",
80
+ "dkist_processing_common/tasks/mixin/quality/_base.py",
81
+ "dkist_processing_common/tasks/mixin/quality/_metrics.py",
82
+ "dkist_processing_common/tasks/output_data_base.py",
83
+ "dkist_processing_common/tasks/parse_l0_input_data.py",
84
+ "dkist_processing_common/tasks/quality_metrics.py",
85
+ "dkist_processing_common/tasks/teardown.py",
86
+ "dkist_processing_common/tasks/transfer_input_data.py",
87
+ "dkist_processing_common/tasks/trial_catalog.py",
88
+ "dkist_processing_common/tasks/trial_output_data.py",
89
+ "dkist_processing_common/tasks/write_extra.py",
90
+ "dkist_processing_common/tasks/write_l1.py",
91
+ "dkist_processing_common/tasks/write_l1_base.py",
92
+ "dkist_processing_common/tests/__init__.py",
93
+ "dkist_processing_common/tests/conftest.py",
94
+ "dkist_processing_common/tests/mock_metadata_store.py",
95
+ "dkist_processing_common/tests/test_assemble_movie.py",
96
+ "dkist_processing_common/tests/test_assemble_quality.py",
97
+ "dkist_processing_common/tests/test_base.py",
98
+ "dkist_processing_common/tests/test_codecs.py",
99
+ "dkist_processing_common/tests/test_constants.py",
100
+ "dkist_processing_common/tests/test_construct_dataset_extras.py",
101
+ "dkist_processing_common/tests/test_cs_step.py",
102
+ "dkist_processing_common/tests/test_dkist_location.py",
103
+ "dkist_processing_common/tests/test_fits_access.py",
104
+ "dkist_processing_common/tests/test_flower_pot.py",
105
+ "dkist_processing_common/tests/test_fried_parameter.py",
106
+ "dkist_processing_common/tests/test_input_dataset.py",
107
+ "dkist_processing_common/tests/test_interservice_bus.py",
108
+ "dkist_processing_common/tests/test_interservice_bus_mixin.py",
109
+ "dkist_processing_common/tests/test_manual_processing.py",
110
+ "dkist_processing_common/tests/test_output_data_base.py",
111
+ "dkist_processing_common/tests/test_parameters.py",
112
+ "dkist_processing_common/tests/test_parse_l0_input_data.py",
113
+ "dkist_processing_common/tests/test_publish_catalog_messages.py",
114
+ "dkist_processing_common/tests/test_quality.py",
115
+ "dkist_processing_common/tests/test_quality_mixin.py",
116
+ "dkist_processing_common/tests/test_scratch.py",
117
+ "dkist_processing_common/tests/test_stems.py",
118
+ "dkist_processing_common/tests/test_submit_dataset_metadata.py",
119
+ "dkist_processing_common/tests/test_tags.py",
120
+ "dkist_processing_common/tests/test_task_name.py",
121
+ "dkist_processing_common/tests/test_task_parsing.py",
122
+ "dkist_processing_common/tests/test_teardown.py",
123
+ "dkist_processing_common/tests/test_transfer_input_data.py",
124
+ "dkist_processing_common/tests/test_transfer_l1_output_data.py",
125
+ "dkist_processing_common/tests/test_trial_catalog.py",
126
+ "dkist_processing_common/tests/test_trial_output_data.py",
127
+ "dkist_processing_common/tests/test_workflow_task_base.py",
128
+ "dkist_processing_common/tests/test_write_l1.py",
129
+ "docs/Makefile",
130
+ "docs/changelog.rst",
131
+ "docs/conf.py",
132
+ "docs/index.rst",
133
+ "docs/landing_page.rst",
134
+ "docs/make.bat",
135
+ "docs/requirements.txt",
136
+ "licenses/LICENSE.rst",
137
+ "pyproject.toml"
138
+ ]
139
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "14.3.5",
3
+ "distance": 0,
4
+ "node": "ge80dd187b379ae5f5f1b542fa23f894bc0297a3d",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-08-10"
8
+ }
@@ -25,7 +25,7 @@ dependencies = [
25
25
  "astropy >= 7.0.0",
26
26
  "dkist-fits-specifications >= 4.24.0, <5.0",
27
27
  "dkist-header-validator >= 5.3.0, <6.0",
28
- "dkist-processing-core == 7.3.0",
28
+ "dkist-processing-core == 7.4.0",
29
29
  "dkist-processing-pac >= 3.1, <4.0",
30
30
  "dkist-service-configuration >= 4.3.0, <5.0",
31
31
  "dkist-spectral-lines >= 3.0.0, <4.0",
@@ -1,2 +0,0 @@
1
- # Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities
2
- # https://docs.snyk.io/manage-risk/policies/the-.snyk-file#syntax-of-the-.snyk-file