dkist-processing-common 12.6.5__tar.gz → 12.6.6__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 (141) hide show
  1. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/.snyk +4 -0
  2. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/CHANGELOG.rst +15 -0
  3. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/PKG-INFO +3 -3
  4. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/codecs/asdf.py +3 -1
  5. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_trial_catalog.py +46 -1
  6. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common.egg-info/PKG-INFO +3 -3
  7. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common.egg-info/requires.txt +2 -2
  8. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/pyproject.toml +2 -2
  9. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/.gitignore +0 -0
  10. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/.pre-commit-config.yaml +0 -0
  11. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/.readthedocs.yml +0 -0
  12. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/README.rst +0 -0
  13. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/bitbucket-pipelines.yml +0 -0
  14. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/changelog/.gitempty +0 -0
  15. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/__init__.py +0 -0
  16. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/_util/__init__.py +0 -0
  17. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/_util/constants.py +0 -0
  18. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/_util/graphql.py +0 -0
  19. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/_util/scratch.py +0 -0
  20. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/_util/tags.py +0 -0
  21. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/codecs/__init__.py +0 -0
  22. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/codecs/array.py +0 -0
  23. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/codecs/basemodel.py +0 -0
  24. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/codecs/bytes.py +0 -0
  25. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/codecs/fits.py +0 -0
  26. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/codecs/iobase.py +0 -0
  27. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/codecs/json.py +0 -0
  28. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/codecs/path.py +0 -0
  29. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/codecs/quality.py +0 -0
  30. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/codecs/str.py +0 -0
  31. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/config.py +0 -0
  32. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/fonts/Lato-Regular.ttf +0 -0
  33. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/fonts/__init__.py +0 -0
  34. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/manual.py +0 -0
  35. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/models/__init__.py +0 -0
  36. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/models/constants.py +0 -0
  37. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/models/dkist_location.py +0 -0
  38. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/models/extras.py +0 -0
  39. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/models/fits_access.py +0 -0
  40. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/models/flower_pot.py +0 -0
  41. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/models/fried_parameter.py +0 -0
  42. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/models/graphql.py +0 -0
  43. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/models/input_dataset.py +0 -0
  44. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/models/message.py +0 -0
  45. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/models/message_queue_binding.py +0 -0
  46. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/models/metric_code.py +0 -0
  47. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/models/parameters.py +0 -0
  48. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/models/quality.py +0 -0
  49. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/models/tags.py +0 -0
  50. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/models/task_name.py +0 -0
  51. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/models/telemetry.py +0 -0
  52. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/models/wavelength.py +0 -0
  53. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/parsers/__init__.py +0 -0
  54. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/parsers/average_bud.py +0 -0
  55. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/parsers/cs_step.py +0 -0
  56. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/parsers/dsps_repeat.py +0 -0
  57. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/parsers/experiment_id_bud.py +0 -0
  58. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/parsers/id_bud.py +0 -0
  59. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/parsers/l0_fits_access.py +0 -0
  60. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/parsers/l1_fits_access.py +0 -0
  61. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/parsers/lookup_bud.py +0 -0
  62. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/parsers/near_bud.py +0 -0
  63. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/parsers/observing_program_id_bud.py +0 -0
  64. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/parsers/proposal_id_bud.py +0 -0
  65. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/parsers/quality.py +0 -0
  66. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/parsers/retarder.py +0 -0
  67. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/parsers/single_value_single_key_flower.py +0 -0
  68. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/parsers/task.py +0 -0
  69. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/parsers/time.py +0 -0
  70. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/parsers/unique_bud.py +0 -0
  71. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/parsers/wavelength.py +0 -0
  72. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/__init__.py +0 -0
  73. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/assemble_movie.py +0 -0
  74. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/base.py +0 -0
  75. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/l1_output_data.py +0 -0
  76. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/mixin/__init__.py +0 -0
  77. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/mixin/globus.py +0 -0
  78. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/mixin/interservice_bus.py +0 -0
  79. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/mixin/metadata_store.py +0 -0
  80. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/mixin/object_store.py +0 -0
  81. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/mixin/quality/__init__.py +0 -0
  82. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/mixin/quality/_base.py +0 -0
  83. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/mixin/quality/_metrics.py +0 -0
  84. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/output_data_base.py +0 -0
  85. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/parse_l0_input_data.py +0 -0
  86. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/quality_metrics.py +0 -0
  87. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/teardown.py +0 -0
  88. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/transfer_input_data.py +0 -0
  89. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/trial_catalog.py +0 -0
  90. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/trial_output_data.py +0 -0
  91. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/write_extra.py +0 -0
  92. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/write_l1.py +0 -0
  93. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tasks/write_l1_base.py +0 -0
  94. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/__init__.py +0 -0
  95. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/conftest.py +0 -0
  96. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/mock_metadata_store.py +0 -0
  97. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_assemble_movie.py +0 -0
  98. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_assemble_quality.py +0 -0
  99. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_base.py +0 -0
  100. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_codecs.py +0 -0
  101. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_constants.py +0 -0
  102. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_construct_dataset_extras.py +0 -0
  103. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_cs_step.py +0 -0
  104. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_dkist_location.py +0 -0
  105. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_fits_access.py +0 -0
  106. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_flower_pot.py +0 -0
  107. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_fried_parameter.py +0 -0
  108. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_input_dataset.py +0 -0
  109. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_interservice_bus.py +0 -0
  110. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_interservice_bus_mixin.py +0 -0
  111. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_manual_processing.py +0 -0
  112. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_output_data_base.py +0 -0
  113. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_parameters.py +0 -0
  114. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_parse_l0_input_data.py +0 -0
  115. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_publish_catalog_messages.py +0 -0
  116. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_quality.py +0 -0
  117. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_quality_mixin.py +0 -0
  118. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_scratch.py +0 -0
  119. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_stems.py +0 -0
  120. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_submit_dataset_metadata.py +0 -0
  121. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_tags.py +0 -0
  122. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_task_name.py +0 -0
  123. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_task_parsing.py +0 -0
  124. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_teardown.py +0 -0
  125. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_transfer_input_data.py +0 -0
  126. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_transfer_l1_output_data.py +0 -0
  127. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_trial_output_data.py +0 -0
  128. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_workflow_task_base.py +0 -0
  129. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common/tests/test_write_l1.py +0 -0
  130. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common.egg-info/SOURCES.txt +0 -0
  131. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common.egg-info/dependency_links.txt +0 -0
  132. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/dkist_processing_common.egg-info/top_level.txt +0 -0
  133. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/docs/Makefile +0 -0
  134. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/docs/changelog.rst +0 -0
  135. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/docs/conf.py +0 -0
  136. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/docs/index.rst +0 -0
  137. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/docs/landing_page.rst +0 -0
  138. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/docs/make.bat +0 -0
  139. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/docs/requirements.txt +0 -0
  140. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/licenses/LICENSE.rst +0 -0
  141. {dkist_processing_common-12.6.5 → dkist_processing_common-12.6.6}/setup.cfg +0 -0
@@ -1,3 +1,7 @@
1
1
  # Snyk (https://snyk.io) policy file, patches or ignores known vulnerabilities
2
2
  # https://docs.snyk.io/manage-risk/policies/the-.snyk-file#syntax-of-the-.snyk-file
3
3
  version: v1.25.0
4
+ ignore:
5
+ SNYK-PYTHON-APACHEAIRFLOWCORE-15674486:
6
+ - '*':
7
+ reason: "Temporarily ignoring Airflow 3.1.7 vulnerability until upgrade is feasible"
@@ -1,3 +1,18 @@
1
+ v12.6.6 (2026-03-19)
2
+ ====================
3
+
4
+ Features
5
+ --------
6
+
7
+ - Enable array compression on asdf files created in trial workflows. (`#316 <https://bitbucket.org/dkistdc/dkist-processing-common/pull-requests/316>`__)
8
+
9
+
10
+ Misc
11
+ ----
12
+
13
+ - Temporarily ignore new Snyk critical vulnerability in apache-airflow-core 3.1.7 causing pipeline failures; upgrade to 3.1.8 planned for mid-April. (`#315 <https://bitbucket.org/dkistdc/dkist-processing-common/pull-requests/315>`__)
14
+
15
+
1
16
  v12.6.5 (2026-03-09)
2
17
  ====================
3
18
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dkist-processing-common
3
- Version: 12.6.5
3
+ Version: 12.6.6
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
@@ -56,9 +56,9 @@ Requires-Dist: sphinx-autoapi!=3.1.0; extra == "docs"
56
56
  Requires-Dist: pytest; extra == "docs"
57
57
  Requires-Dist: dkist-sphinx-theme; extra == "docs"
58
58
  Provides-Extra: inventory
59
- Requires-Dist: dkist-inventory<2.0,>=1.11.4; extra == "inventory"
59
+ Requires-Dist: dkist-inventory<2.0,>=1.11.5; extra == "inventory"
60
60
  Provides-Extra: asdf
61
- Requires-Dist: dkist-inventory[asdf]<2.0,>=1.11.4; extra == "asdf"
61
+ Requires-Dist: dkist-inventory[asdf]<2.0,>=1.11.5; extra == "asdf"
62
62
  Provides-Extra: quality
63
63
  Requires-Dist: dkist-quality<3.0,>=2.0.1; extra == "quality"
64
64
 
@@ -11,7 +11,9 @@ from dkist_processing_common.codecs.iobase import iobase_encoder
11
11
  def asdf_fileobj_encoder(asdf_obj: asdf.AsdfFile, custom_schema=None, **asdf_write_kwargs) -> bytes:
12
12
  """Save an `asdf.AsdfFile` object."""
13
13
  file_obj = BytesIO()
14
- asdf_obj.write_to(file_obj, **asdf_write_kwargs)
14
+ asdf_obj.write_to(
15
+ file_obj, all_array_storage="internal", all_array_compression="zlib", **asdf_write_kwargs
16
+ )
15
17
  return iobase_encoder(file_obj)
16
18
 
17
19
 
@@ -31,6 +31,50 @@ from dkist_processing_common.tests.mock_metadata_store import default_observe_fr
31
31
  from dkist_processing_common.tests.mock_metadata_store import input_dataset_parameters_part_factory
32
32
 
33
33
 
34
+ def _parameter_for_test_comparison(param: dict) -> dict:
35
+ """Convert compressed ASDF/inventory parameter metadata into InputDatasetParameter
36
+ expected by this test.
37
+
38
+ Needed because dkist-inventory now round-trips ``parameterValues`` as a dict of
39
+ arrays for compressed ndarray storage, while these tests compare against the
40
+ original list-of-dicts input model.
41
+ """
42
+ values = param.get("parameterValues")
43
+ if not isinstance(values, dict):
44
+ return dict(param)
45
+
46
+ def as_list(value):
47
+ return value.tolist() if isinstance(value, np.ndarray) else value
48
+
49
+ parameter_ids = as_list(values.get("parameterValueId", []))
50
+ parameter_values = as_list(values.get("parameterValue", []))
51
+ start_dates = as_list(values.get("parameterValueStartDate", []))
52
+
53
+ if not parameter_ids:
54
+ parameter_ids = list(range(len(parameter_values)))
55
+
56
+ if len({len(parameter_ids), len(parameter_values), len(start_dates)}) != 1:
57
+ raise AssertionError(
58
+ "parameterValueId, parameterValue, and parameterValueStartDate have different lengths"
59
+ )
60
+
61
+ return {
62
+ **param,
63
+ "parameterValues": [
64
+ {
65
+ "parameterValueId": parameter_id,
66
+ "parameterValue": value.decode("ascii") if isinstance(value, bytes) else value,
67
+ "parameterValueStartDate": (
68
+ start_date.decode("ascii") if isinstance(start_date, bytes) else start_date
69
+ ),
70
+ }
71
+ for parameter_id, value, start_date in zip(
72
+ parameter_ids, parameter_values, start_dates, strict=True
73
+ )
74
+ ],
75
+ }
76
+
77
+
34
78
  @pytest.fixture()
35
79
  def mock_input_dataset_parts() -> InputDatasetPartDocumentList:
36
80
  """An InputDatasetPartDocumentList with two parameters, each with one value and a date."""
@@ -284,7 +328,8 @@ def test_create_trial_asdf(with_params, request, recipe_run_id, mock_input_datas
284
328
  assert parameters, f"ASDF tree must include input parameters: {parameters}"
285
329
  assert len(parameters) == len(mock_input_dataset_parts.doc_list)
286
330
  for param in parameters:
287
- assert InputDatasetParameter.model_validate(param) in mock_input_dataset_parts.doc_list
331
+ normalized = InputDatasetParameter.model_validate(_parameter_for_test_comparison(param))
332
+ assert normalized in mock_input_dataset_parts.doc_list
288
333
  else:
289
334
  assert ds.meta["parameters"] == []
290
335
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dkist-processing-common
3
- Version: 12.6.5
3
+ Version: 12.6.6
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
@@ -56,9 +56,9 @@ Requires-Dist: sphinx-autoapi!=3.1.0; extra == "docs"
56
56
  Requires-Dist: pytest; extra == "docs"
57
57
  Requires-Dist: dkist-sphinx-theme; extra == "docs"
58
58
  Provides-Extra: inventory
59
- Requires-Dist: dkist-inventory<2.0,>=1.11.4; extra == "inventory"
59
+ Requires-Dist: dkist-inventory<2.0,>=1.11.5; extra == "inventory"
60
60
  Provides-Extra: asdf
61
- Requires-Dist: dkist-inventory[asdf]<2.0,>=1.11.4; extra == "asdf"
61
+ Requires-Dist: dkist-inventory[asdf]<2.0,>=1.11.5; extra == "asdf"
62
62
  Provides-Extra: quality
63
63
  Requires-Dist: dkist-quality<3.0,>=2.0.1; extra == "quality"
64
64
 
@@ -24,7 +24,7 @@ sunpy>=3.0.0
24
24
  talus==1.3.4
25
25
 
26
26
  [asdf]
27
- dkist-inventory[asdf]<2.0,>=1.11.4
27
+ dkist-inventory[asdf]<2.0,>=1.11.5
28
28
 
29
29
  [docs]
30
30
  setuptools
@@ -36,7 +36,7 @@ pytest
36
36
  dkist-sphinx-theme
37
37
 
38
38
  [inventory]
39
- dkist-inventory<2.0,>=1.11.4
39
+ dkist-inventory<2.0,>=1.11.5
40
40
 
41
41
  [quality]
42
42
  dkist-quality<3.0,>=2.0.1
@@ -75,10 +75,10 @@ docs = [
75
75
  "dkist-sphinx-theme",
76
76
  ]
77
77
  inventory = [
78
- "dkist-inventory >= 1.11.4, <2.0",
78
+ "dkist-inventory >= 1.11.5, <2.0",
79
79
  ]
80
80
  asdf = [
81
- "dkist-inventory[asdf] >= 1.11.4, <2.0",
81
+ "dkist-inventory[asdf] >= 1.11.5, <2.0",
82
82
  ]
83
83
  quality = [
84
84
  "dkist-quality >= 2.0.1, <3.0",