dkist-processing-common 11.2.0__py3-none-any.whl → 11.2.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -190,6 +190,7 @@ class QualityCreation(GraphqlBaseModel):
190
190
  warnings: str | None = None
191
191
  # JSON objects
192
192
  plotData: str | None = None
193
+ multiPlotData: str | None = None
193
194
  tableData: str | None = None
194
195
  histogramData: str | None = None
195
196
  modmatData: str | None = None
@@ -112,7 +112,7 @@ class ReportMetric(BaseModel):
112
112
  facet: str | None = None
113
113
  statement: str | list[str] | None = None
114
114
  plot_data: Plot2D | list[Plot2D] | None = None
115
- vertical_multi_pane_plot_data: VerticalMultiPanePlot2D | None = None
115
+ multi_plot_data: VerticalMultiPanePlot2D | None = None
116
116
  histogram_data: PlotHistogram | list[PlotHistogram] | None = None
117
117
  table_data: SimpleTable | list[SimpleTable] | None = None
118
118
  modmat_data: ModulationMatrixHistograms | None = None
@@ -171,6 +171,7 @@ class MetadataStoreMixin:
171
171
  warnings=json.dumps(metric.get("warnings")),
172
172
  # JSON objects
173
173
  plotData=json.dumps(metric.get("plot_data"), cls=QualityDataEncoder),
174
+ multiPlotData=json.dumps(metric.get("multi_plot_data"), cls=QualityDataEncoder),
174
175
  tableData=json.dumps(metric.get("table_data"), cls=QualityDataEncoder),
175
176
  histogramData=json.dumps(metric.get("histogram_data"), cls=QualityDataEncoder),
176
177
  modmatData=json.dumps(metric.get("modmat_data"), cls=QualityDataEncoder),
@@ -1401,10 +1401,20 @@ class _WavecalQualityMixin:
1401
1401
  "Input Spectrum": [input_wave_list, input_spectrum_list],
1402
1402
  "Best Fit Atlas": [best_fit_wave_list, best_fit_atlas_list],
1403
1403
  }
1404
+
1405
+ # Set the colors and zorder here manually because the JSON-ization of the quality data means we can't be sure of
1406
+ # the order these will be plotted in and thus can't rely on the default color-cycler in `dkist-quality`.
1404
1407
  fit_plot_kwargs = {
1405
- "Best Fit Observations": {"ls": "-", "lw": 4, "alpha": 0.8, "ms": 0},
1406
- "Input Spectrum": {"ls": "-", "alpha": 0.4, "ms": 0},
1407
- "Best Fit Atlas": {"color": "k", "ls": "-", "ms": 0},
1408
+ "Best Fit Observations": {
1409
+ "ls": "-",
1410
+ "lw": 4,
1411
+ "alpha": 0.8,
1412
+ "ms": 0,
1413
+ "color": "#FAA61C",
1414
+ "zorder": 2,
1415
+ },
1416
+ "Input Spectrum": {"ls": "-", "alpha": 0.4, "ms": 0, "color": "#1E317A", "zorder": 2.1},
1417
+ "Best Fit Atlas": {"color": "k", "ls": "-", "ms": 0, "zorder": 2.2},
1408
1418
  }
1409
1419
 
1410
1420
  fit_plot = Plot2D(
@@ -1458,7 +1468,7 @@ class _WavecalQualityMixin:
1458
1468
  "The top plot shows the input and best-fit spectra along with the best-fit atlas, which is "
1459
1469
  "a combination of Solar and Telluric spectra. The bottom plot shows the fit residuals.",
1460
1470
  metric_code=MetricCode.wavecal_fit,
1461
- vertical_multi_pane_plot_data=full_plot,
1471
+ multi_plot_data=full_plot,
1462
1472
  )
1463
1473
 
1464
1474
  return metric.model_dump()
@@ -259,11 +259,11 @@ def plot_data_expected() -> Callable[[str], bool]:
259
259
 
260
260
 
261
261
  @pytest.fixture()
262
- def vertical_multi_pane_plot_data_expected() -> Callable[[str], bool]:
262
+ def multi_plot_data_expected() -> Callable[[str], bool]:
263
263
  """
264
264
  Tightly coupled with quality_metrics fixture and resultant report metric name
265
265
  """
266
- # names where vertical_multi_pane_plot_data is expected to be populated
266
+ # names where multi_plot_data is expected to be populated
267
267
  names = {"Wavelength Calibration Results"}
268
268
 
269
269
  def expected(name: str) -> bool:
@@ -451,7 +451,7 @@ def test_assemble_quality_data(
451
451
  assemble_quality_data_task,
452
452
  recipe_run_id,
453
453
  plot_data_expected,
454
- vertical_multi_pane_plot_data_expected,
454
+ multi_plot_data_expected,
455
455
  table_data_expected,
456
456
  modmat_data_expected,
457
457
  histogram_data_expected,
@@ -481,8 +481,8 @@ def test_assemble_quality_data(
481
481
  assert isinstance(rm.description, str)
482
482
  if plot_data_expected(rm.name):
483
483
  assert rm.plot_data
484
- if vertical_multi_pane_plot_data_expected(rm.name):
485
- assert rm.vertical_multi_pane_plot_data
484
+ if multi_plot_data_expected(rm.name):
485
+ assert rm.multi_plot_data
486
486
  if table_data_expected(rm.name):
487
487
  assert rm.table_data
488
488
  if modmat_data_expected(rm.name):
@@ -114,7 +114,7 @@ def test_create_2d_plot_with_datetime_metric(quality_task):
114
114
  "facet",
115
115
  "statement",
116
116
  "plot_data",
117
- "vertical_multi_pane_plot_data",
117
+ "multi_plot_data",
118
118
  "histogram_data",
119
119
  "table_data",
120
120
  "modmat_data",
@@ -1317,7 +1317,7 @@ def test_build_wavecal_results(quality_task, wavecal_data_json):
1317
1317
  assert metric["raincloud_data"] is None
1318
1318
  assert metric["warnings"] is None
1319
1319
 
1320
- multi_plot_data = metric["vertical_multi_pane_plot_data"]
1320
+ multi_plot_data = metric["multi_plot_data"]
1321
1321
  assert multi_plot_data["match_x_axes"] is True
1322
1322
  assert multi_plot_data["no_gap"] is True
1323
1323
  assert (
@@ -1339,9 +1339,16 @@ def test_build_wavecal_results(quality_task, wavecal_data_json):
1339
1339
  "Best Fit Atlas": [[1001.5, 1002.6, 1003.7, 1004.8], [1.0, 1.0, 0.4, 1.0]],
1340
1340
  }
1341
1341
  assert fit_plot["plot_kwargs"] == {
1342
- "Input Spectrum": {"ls": "-", "alpha": 0.4, "ms": 0},
1343
- "Best Fit Observations": {"ls": "-", "lw": 4, "alpha": 0.8, "ms": 0},
1344
- "Best Fit Atlas": {"color": "k", "ls": "-", "ms": 0},
1342
+ "Input Spectrum": {"ls": "-", "alpha": 0.4, "ms": 0, "color": "#1E317A", "zorder": 2.1},
1343
+ "Best Fit Observations": {
1344
+ "ls": "-",
1345
+ "lw": 4,
1346
+ "alpha": 0.8,
1347
+ "ms": 0,
1348
+ "color": "#FAA61C",
1349
+ "zorder": 2.0,
1350
+ },
1351
+ "Best Fit Atlas": {"color": "k", "ls": "-", "ms": 0, "zorder": 2.2},
1345
1352
  }
1346
1353
 
1347
1354
  residuals_plot = plot_list[1]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dkist-processing-common
3
- Version: 11.2.0
3
+ Version: 11.2.1
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
@@ -61,7 +61,7 @@ Requires-Dist: dkist-inventory<2.0,>=1.6.0; extra == "inventory"
61
61
  Provides-Extra: asdf
62
62
  Requires-Dist: dkist-inventory[asdf]<2.0,>=1.6.0; extra == "asdf"
63
63
  Provides-Extra: quality
64
- Requires-Dist: dkist-quality<2.0,>=1.3.0; extra == "quality"
64
+ Requires-Dist: dkist-quality<3.0,>=2.0.0; extra == "quality"
65
65
 
66
66
  dkist-processing-common
67
67
  =======================
@@ -26,13 +26,13 @@ dkist_processing_common/models/dkist_location.py,sha256=3cbN6As60tJa0uoOSNFNnz2s
26
26
  dkist_processing_common/models/fits_access.py,sha256=Au9JROwhVla9zb_u0dN8mIWiSJd_Pca0oOr4N1hN0HY,4113
27
27
  dkist_processing_common/models/flower_pot.py,sha256=59C5uGYKyMyncqQYxhzDZWl8k1DRZFB6s9RF-HFp9mY,5128
28
28
  dkist_processing_common/models/fried_parameter.py,sha256=ro_H2Eo3I88lRf1wJjZfTc_XOjhgLt4whIQR_sjAFbM,1609
29
- dkist_processing_common/models/graphql.py,sha256=ahCGiDZlbx31_SFfOLyS-qzVzxYvd18zUEAGZWYGjCM,5874
29
+ dkist_processing_common/models/graphql.py,sha256=_dcVUYrzQ6CceMJFXYS_bc8lknop5n0erL5I8kuj32g,5911
30
30
  dkist_processing_common/models/input_dataset.py,sha256=stQa_lbFPr2tmOUpQgpDuwM0-DiIDV3zYwyawh01cKc,4172
31
31
  dkist_processing_common/models/message.py,sha256=DRW7Qhl01dF5KagcqLta5U-uzdOMewrsHvMatDT6jnk,1684
32
32
  dkist_processing_common/models/message_queue_binding.py,sha256=ROQ2ZQE3TCr4gVbz4WggvUSExAiWP8SD_GjjQl482M8,1012
33
33
  dkist_processing_common/models/metric_code.py,sha256=mF-i0nuzko7K949aS01hEsssGes_PIF5B0b_mVqwoL4,847
34
34
  dkist_processing_common/models/parameters.py,sha256=dTup7mPTEmySXP0O3j4sPPY8Jqe2zf-3sr2hjeMatEY,9649
35
- dkist_processing_common/models/quality.py,sha256=wI779KvakvZNOJXq8qgdsF8u9sVYAzd8ezhoXpiccqQ,3994
35
+ dkist_processing_common/models/quality.py,sha256=niNHA4fh_22Xsk_gMRs2YvvT33paD8ByUCGy1IYmn30,3980
36
36
  dkist_processing_common/models/tags.py,sha256=ykOYqWMU7_ffvRCv84-avjXyty9pHBo7EXwsjIjStjs,12058
37
37
  dkist_processing_common/models/task_name.py,sha256=NL0n92A9vVYBV-yvh8d-qFOCxVy0X2GECDmLgIzrmOY,565
38
38
  dkist_processing_common/models/wavelength.py,sha256=Wtmu5QhjPpsqIGfUQ0Wh-3PQlGeRdGV9BfFAy23HLGg,966
@@ -67,16 +67,16 @@ dkist_processing_common/tasks/write_l1.py,sha256=KSb62iTYP21XBqIYVQVx6X8vhpcLn40
67
67
  dkist_processing_common/tasks/mixin/__init__.py,sha256=-g-DQbU7m1bclJYuFe3Yh757V-35GIDTbstardKQ7nU,68
68
68
  dkist_processing_common/tasks/mixin/globus.py,sha256=QAV8VElxMAqxJ2KSB_bJaraceovYfjHXjOdocrTCkIA,6592
69
69
  dkist_processing_common/tasks/mixin/interservice_bus.py,sha256=I7BUh0o8AEX-FZv7gxCts6is0uq9lycWjtTB2KqwBrU,1080
70
- dkist_processing_common/tasks/mixin/metadata_store.py,sha256=yTKijpQ-tNx_H2V_9HsZjMzkrzBDSQaSKkySV6VnnOM,11618
70
+ dkist_processing_common/tasks/mixin/metadata_store.py,sha256=jD7UYnua2nmjYZP7sBcono1zyy5ldoJT-poYG-4XVcA,11715
71
71
  dkist_processing_common/tasks/mixin/object_store.py,sha256=Vn4l2XuCimii9Fc3gM-pQGIkTKMv_ldqljlxkLesZLU,3236
72
72
  dkist_processing_common/tasks/mixin/quality/__init__.py,sha256=Bgu-DHW7yXLiehglldOCWluEkAP5qh0Hp1F30rh5NFw,383
73
73
  dkist_processing_common/tasks/mixin/quality/_base.py,sha256=U1AEhj6OtF4YEdTkKWcgmoH6zrz6tYNjNXnmVU24L70,8491
74
- dkist_processing_common/tasks/mixin/quality/_metrics.py,sha256=kBZqvYvCKx0ar1tYw-f1AYNMORekqMERo73fsZS3QQU,60210
74
+ dkist_processing_common/tasks/mixin/quality/_metrics.py,sha256=g2iGGi2d_o2qEKWhNGZFq1XLHDhcgwYUhVJ1MfKJTcA,60625
75
75
  dkist_processing_common/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
76
76
  dkist_processing_common/tests/conftest.py,sha256=xTmu87MZSPIcucg9UCH88OimdqgjE5VSc-n-fSFbtjI,22319
77
77
  dkist_processing_common/tests/mock_metadata_store.py,sha256=ZVxAtVoW8ayEceafeR8yJbGdFZsw13Eyf1Z2-rwGZDM,8260
78
78
  dkist_processing_common/tests/test_assemble_movie.py,sha256=RI7Kitd-XNmba-o5pUgqURocXPFi15T-mEvWaSbsN6U,4125
79
- dkist_processing_common/tests/test_assemble_quality.py,sha256=j0n67prmjxbBxkqgurmanfH4puCTYytn4thpEXe7u2s,17902
79
+ dkist_processing_common/tests/test_assemble_quality.py,sha256=-F22jMY6mPy65VZ1TZY2r1vsxMXOPmZHArGx70OD3BA,17832
80
80
  dkist_processing_common/tests/test_base.py,sha256=EQsIkeWoOtjk0yxr_oPkhW3Uc0p8cMsknSMwKgrJI9E,7078
81
81
  dkist_processing_common/tests/test_codecs.py,sha256=FGhldrTdc28YD9FKrsW3lZ34LtvzecGP1qNi9fGHVGQ,22173
82
82
  dkist_processing_common/tests/test_constants.py,sha256=Kc9k5TdYy5QkRRlGav6kfI2dy5HHKqtpf9qOuaAfDZU,5903
@@ -94,7 +94,7 @@ dkist_processing_common/tests/test_parameters.py,sha256=kNzX89vfrNRJ8d9rusMVv4DM
94
94
  dkist_processing_common/tests/test_parse_l0_input_data.py,sha256=SMNV1qyQTvnMx94MCNsiA-RyS9uxaxIABEDDxsuVzqY,10629
95
95
  dkist_processing_common/tests/test_publish_catalog_messages.py,sha256=l6Wga1s2wNBIf4wGZ78ZIO_rtqjdidmtvlN9nMnQUAs,3222
96
96
  dkist_processing_common/tests/test_quality.py,sha256=vomy2YSPadKqJj2tG8sCs-UkQVvfKus7Cum7_Hpee4I,10257
97
- dkist_processing_common/tests/test_quality_mixin.py,sha256=Kaj4gFglRiWrYaL_USnsyK8-5-wrMQuG36nU8YSXus0,55229
97
+ dkist_processing_common/tests/test_quality_mixin.py,sha256=qanm3SXEiLb0OJDawbh8ixVAG9uRglFMzwxTeYxkDsM,55369
98
98
  dkist_processing_common/tests/test_scratch.py,sha256=7f28FMiSskSNX-bkRSrpJf2u1HQIbSvYajbjkeGMF9s,16481
99
99
  dkist_processing_common/tests/test_stems.py,sha256=ini5dylLT5ioWKKWd1uu6kwx8Tf3aEnKKaGjf46a_GI,32649
100
100
  dkist_processing_common/tests/test_submit_dataset_metadata.py,sha256=LHEyjoIxJHXXssqKkr8Qn1NzzHD1FLJiD3lP8yaLiXU,3764
@@ -116,7 +116,7 @@ docs/landing_page.rst,sha256=aPAuXFhBx73lEZ59B6E6JXxkK0LlxzD0n-HXqHrfumQ,746
116
116
  docs/make.bat,sha256=mBAhtURwhQ7yc95pqwJzlhqBSvRknr1aqZ5s8NKvdKs,4513
117
117
  docs/requirements.txt,sha256=Kbl_X4c7RQZw035YTeNB63We6I7pvXFU4T0Uflp2yDY,29
118
118
  licenses/LICENSE.rst,sha256=piZaQplkzOMmH1NXg6QIdo9wwo9pPCoHkvm2-DmH76E,1462
119
- dkist_processing_common-11.2.0.dist-info/METADATA,sha256=B6nAxP9DTElEykVWOBFt9SEAsq_CJS2NIxneZXBaj6c,7201
120
- dkist_processing_common-11.2.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
121
- dkist_processing_common-11.2.0.dist-info/top_level.txt,sha256=LJhd1W-Vn90K8HnQDIE4r52YDpUjjMWDnllAWHBByW0,48
122
- dkist_processing_common-11.2.0.dist-info/RECORD,,
119
+ dkist_processing_common-11.2.1.dist-info/METADATA,sha256=i7X-5yyAWI3r4Vs9vs7c5BU2USGO8fji19NMwCIyiTY,7201
120
+ dkist_processing_common-11.2.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
121
+ dkist_processing_common-11.2.1.dist-info/top_level.txt,sha256=LJhd1W-Vn90K8HnQDIE4r52YDpUjjMWDnllAWHBByW0,48
122
+ dkist_processing_common-11.2.1.dist-info/RECORD,,