petal-qc 0.0.9__py3-none-any.whl → 0.0.10__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.

Potentially problematic release.


This version of petal-qc might be problematic. Click here for more details.

@@ -6,9 +6,7 @@ import sys
6
6
  import bisect
7
7
  from pathlib import Path
8
8
 
9
- import matplotlib.dates as pldates
10
9
  import matplotlib.pyplot as plt
11
- import matplotlib.ticker as ticker
12
10
  import numpy as np
13
11
  from scipy.interpolate import CubicSpline
14
12
  from petal_qc.utils.utils import find_file
@@ -17,6 +15,7 @@ import petal_qc.utils.docx_utils as docx_utils
17
15
 
18
16
  from petal_qc.thermal import IRCore
19
17
  from petal_qc.thermal import Petal_IR_Analysis
18
+ import petal_qc.utils.utils as utils
20
19
 
21
20
  CO2_Temp_setting = -35
22
21
 
@@ -237,7 +236,7 @@ def plot_profile_and_golden(golden, core, value):
237
236
  band = get_acceptance_band()
238
237
 
239
238
  for iside in range(2):
240
- fig, ax = plt.subplots(2, 1, tight_layout=True, gridspec_kw={'height_ratios': (0.66, 0.34)})
239
+ fig, ax = plt.subplots(2, 1, tight_layout=True, figsize=(7, 9), gridspec_kw={'height_ratios': (0.6, 0.4)})
241
240
  figures.append(fig)
242
241
  fig.suptitle("Petal core .vs. Golden for {} - side {}.".format(value, iside))
243
242
  for a in ax:
@@ -271,7 +270,7 @@ def plot_profile_and_golden(golden, core, value):
271
270
  Tmean = np.mean(Y)
272
271
  Tband = factor*abs(Tmean)/3
273
272
 
274
- ax[0].legend(ncol=3, fontsize="x-small")
273
+ ax[0].legend(ncol=4, fontsize="x-small")
275
274
  ax[0].set_title("T$_{prof}$ values")
276
275
  if value.find("temp") >= 0 or value.find("_avg") >= 0:
277
276
  ax[0].set_ylim(Tmean-Tband, Tmean+Tband)
@@ -310,7 +309,7 @@ def show_golden_average(golden, results, value):
310
309
  band = get_acceptance_band()
311
310
 
312
311
  for iside in range(2):
313
- fig, ax = plt.subplots(2, 1, tight_layout=True, gridspec_kw={'height_ratios': (0.66, 0.34)}, figsize=(7, 6))
312
+ fig, ax = plt.subplots(2, 1, tight_layout=True, figsize=(7,9), gridspec_kw={'height_ratios': (0.6, 0.4)})
314
313
  figures.append(fig)
315
314
  fig.suptitle("Golden average for {} - side {}.".format(value, iside))
316
315
  for a in ax:
@@ -329,19 +328,22 @@ def show_golden_average(golden, results, value):
329
328
  if value.find("path") >= 0:
330
329
  X = RS.path_length
331
330
  gX = golden[iside].path_length
331
+ spln = CubicSpline(gX, gY)
332
+ delta = Y - np.array([spln(x) for x in X])
332
333
 
333
334
  else:
334
335
  X = np.array([float(x) for x in range(10)])
335
336
  gX = X
337
+ delta = Y - gY
336
338
 
337
339
  ax[0].plot(X, Y, '-', label=R.aliasID, linewidth=1)
338
- ax[1].plot(gX, O, '-', label=R.aliasID, linewidth=1)
340
+ ax[1].plot(X, delta, '-', label=R.aliasID, linewidth=1)
339
341
 
340
342
  Tmean = np.mean(Y)
341
343
  Tband = factor*abs(Tmean)/3
342
344
  ax[0].plot(gX, gY, '-', label="Golden", linewidth=4, alpha=0.4, color="black")
343
345
 
344
- ax[0].legend(ncol=3, fontsize="x-small")
346
+ ax[0].legend(ncol=4, fontsize="x-small")
345
347
  ax[0].set_title("T$_{prof}$ values")
346
348
  if value.find("temp") >= 0 or value.find("_avg") >= 0:
347
349
  ax[0].set_ylim(Tmean-Tband, Tmean+Tband)
@@ -559,10 +561,11 @@ def analyze_IRCore(options, show=True):
559
561
  F = show_golden_average(golden, cores, "sensor_avg")
560
562
  add_figures_to_doc(document, F, "Sensor avg")
561
563
  F = show_golden_average(golden, cores, "sensor_std")
562
- add_figures_to_doc(document, F, "Sendor std")
564
+ add_figures_to_doc(document, F, "Sensor std")
563
565
 
564
566
  if document:
565
- document.save("Compare-to-Golden.docx")
567
+ ofile = utils.output_folder(options.folder, "Compare-to-Golden.docx")
568
+ document.save(ofile)
566
569
 
567
570
  if show:
568
571
  plt.show()
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env python3
2
2
  """GUI for thermal QC of petal cores."""
3
3
  import sys
4
+ import os
4
5
  from pathlib import Path
5
6
  from argparse import ArgumentParser
6
7
  import json
@@ -11,7 +12,7 @@ import itkdb_gtk.ITkDButils
11
12
  import itkdb_gtk.dbGtkUtils
12
13
  import itkdb_gtk.UploadTest
13
14
 
14
- __HELP__ = "https://petal-qc.docs.cern.ch"
15
+ __HELP__ = "https://petal-qc.docs.cern.ch/thermal.html"
15
16
 
16
17
  try:
17
18
  import petal_qc
@@ -169,7 +170,12 @@ class CoreThermal(itkdb_gtk.dbGtkUtils.ITkDBWindow):
169
170
  self.param.files =[PSF,]
170
171
 
171
172
  #DB = ReadGraphana("localhost")
172
- DB = ReadGraphana()
173
+ server = os.getenv("GRAFANA_SERVER")
174
+ if server is None:
175
+ DB = ReadGraphana()
176
+ else:
177
+ DB = ReadGraphana(server)
178
+
173
179
  irbf = IRBFile.open_file(self.irbfile)
174
180
  getter = IRDataGetter.factory(self.param.institute, self.param)
175
181
  frames = getter.get_analysis_frame(irbf)
@@ -365,7 +371,7 @@ def main():
365
371
  CT = CoreThermal(options, session=client, title="Petal Thermal analysis.")
366
372
  CT.show_all()
367
373
  CT.connect("destroy", Gtk.main_quit)
368
- CT.write_message("Welcome !")
374
+ CT.write_message("Welcome !\n")
369
375
 
370
376
  try:
371
377
  Gtk.main()
@@ -78,8 +78,15 @@ def get_inlet_temp(irbf, param):
78
78
  print("# Getting the Inlet temperature. Contacting Graphana...")
79
79
  out = -9999
80
80
  getter = IRDataGetter.factory(param.institute, param)
81
- #DB = ReadGraphana("localhost")
82
- DB = ReadGraphana()
81
+
82
+ # TODO: get the server from thhe options
83
+ server = os.getenv("GRAFANA_SERVER")
84
+ if server is None:
85
+ DB = ReadGraphana()
86
+ else:
87
+ print("Connecting to Graphana serfer {}".format(server))
88
+ DB = ReadGraphana(server)
89
+
83
90
  frames = getter.get_analysis_frame(irbf)
84
91
  the_time = frames[0].timestamp
85
92
  try:
@@ -105,7 +112,7 @@ def create_IR_core(options):
105
112
  try:
106
113
  getter = IRDataGetter.factory(options.institute, options)
107
114
 
108
- except NotImplemented:
115
+ except NotImplementedError:
109
116
  print("*** Invalid institute name. ***")
110
117
  return None
111
118
 
@@ -138,7 +145,7 @@ def create_IR_core(options):
138
145
  print("Image size: {} x {}".format(values[0].shape[0], values[0].shape[1]))
139
146
 
140
147
  if options.debug or options.report:
141
- fig, ax = Petal_IR_Analysis.show_2D_image(values)
148
+ fig, ax = Petal_IR_Analysis.show_2D_image(values, show_fig=False)
142
149
  __figures__["original"] = fig
143
150
 
144
151
  except LookupError as e:
@@ -156,15 +163,28 @@ def create_IR_core(options):
156
163
  print("Fit pipes and find sensor positions.")
157
164
  ordered_pipes = [None, None]
158
165
  pipe_order = [0, 0]
166
+ all_3d_points = IRPetal.get_all_3d_points()
159
167
  for i in range(2):
160
168
  pipe_type = PipeFit.PipeFit.guess_pipe_type(pipes[i])
161
169
  pipe_order[i] = pipe_type
162
170
  PF = PipeFit.PipeFit(pipe_type)
163
171
  R = PF.fit_ex(pipes[i], factor=getter.factor)
164
172
  if options.debug or options.report:
165
- fig, _ =PF.plot()
173
+ fig, _ = PF.plot(show_fig=False)
166
174
  __figures__["fit_{}".format(i)] = fig
167
175
 
176
+ fig = plt.figure(tight_layout=True, figsize=(7, 6))
177
+ fig.subplots_adjust(left=0.0, right=1.)
178
+
179
+ ax = fig.add_subplot(1, 1, 1, projection='3d')
180
+ ax.view_init(elev=90, azim=-90)
181
+ _X = all_3d_points[i][:, 0]
182
+ _Y = all_3d_points[i][:, 1]
183
+ _Z = all_3d_points[i][:, 2]
184
+ sct = ax.scatter(_X, _Y, _Z, c=_Z, marker='o', cmap=plt.cm.jet)
185
+ fig.colorbar(sct, shrink=0.75, aspect=5)
186
+ __figures__["pipe_path_{}".format(i)] = fig
187
+
168
188
  transforms[pipe_type] = R
169
189
  fitter[pipe_type] = PF
170
190
 
@@ -64,8 +64,12 @@ def create_report(options):
64
64
  document.add_picture(figures["original"], True, 14, caption="Original Thermal image.")
65
65
 
66
66
  document.add_heading('Result of Pipe Fit', level=1)
67
- document.add_picture(figures["fit_0"], True, 10, caption="Size 0 fit.")
68
- document.add_picture(figures["fit_1"], True, 10, caption="Size 1 fit.")
67
+ document.add_picture(figures["fit_0"], True, 10, caption="Side 0 fit.")
68
+ document.add_picture(figures["fit_1"], True, 10, caption="Side 1 fit.")
69
+
70
+ document.add_heading('Pipe Path', level=1)
71
+ document.add_picture(figures["pipe_path_0"], True, 10, caption="Side 0 pipe temp.")
72
+ document.add_picture(figures["pipe_path_1"], True, 10, caption="Side 1 pipe temp.")
69
73
 
70
74
  options.add_attachments = True
71
75
  options.create_golden = False
@@ -76,8 +80,6 @@ def create_report(options):
76
80
  outDB = out[0] if len(out) else None
77
81
  options.files = []
78
82
 
79
- get_golden_axis(core, golden)
80
-
81
83
  figures = plot_profile_and_golden(golden, core, "path_temp")
82
84
  document.add_heading('Temperature along path', level=1)
83
85
  document.add_picture(figures[0], True, 12, caption="Petal core .vs. Golden (side 0).")
@@ -92,6 +94,13 @@ def create_report(options):
92
94
  for F in figures:
93
95
  plt.close(F)
94
96
 
97
+ figures = plot_profile_and_golden(golden, core, "sensor_std")
98
+ document.add_heading('STD of Temperature on sensors areas.', level=1)
99
+ document.add_picture(figures[0], True, 12, caption="Sensors .vs. Golden (side 0).")
100
+ document.add_picture(figures[1], True, 12, caption="Sensors .vs. Golden (side 1).")
101
+ for F in figures:
102
+ plt.close(F)
103
+
95
104
  document.add_heading('Comments and Defects.', level=1)
96
105
  added_defects = False
97
106
  if len(outDB["comments"])>0:
@@ -528,7 +528,7 @@ class Line(object):
528
528
  delta_y = (n.y - m.y)
529
529
  if delta_x == 0.0: # vertical line
530
530
  self.O = Point(n.x, n.y)
531
- self.V = Point(0.0, 1.0)
531
+ self.V = (m-n).unit()
532
532
  self.m = None
533
533
  self.b = None
534
534
  return
@@ -589,7 +589,7 @@ class Line(object):
589
589
 
590
590
  def param(self, t):
591
591
  """Return point corresponding to given parameter."""
592
- out = self.P1 + t*self.V
592
+ out = self.O + t*self.V
593
593
  if not isinstance(out, Point):
594
594
  out = Point(out)
595
595
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: petal_qc
3
- Version: 0.0.9
3
+ Version: 0.0.10
4
4
  Summary: A collection of scripts for Petal CORE QC.
5
5
  Author-email: Carlos Lacasta <carlos.lacasta@cern.ch>
6
6
  Project-URL: Homepage, https://gitlab.cern.ch/atlas-itk/sw/db/itk-pdb-gtk-gui-utils
@@ -1,4 +1,4 @@
1
- petal_qc/__init__.py,sha256=74C_6HYOzt6jx9bJgNAs4tkSWt3-4IBQ_TSt9TZyzB4,782
1
+ petal_qc/__init__.py,sha256=EwHq4w3cI2Kl91MU7Pqp07jkJwnauAd6fXb0caYM11A,939
2
2
  petal_qc/dashBoard.py,sha256=D2f1rB_saQYiv9mqJT9Sit44jsXviYBvc-b04CjWCa8,3389
3
3
  petal_qc/BTreport/CheckBTtests.py,sha256=W8KktZUya5qIkcOc4fNHgrtVnQfI_hPxZvbLCINDnqw,8378
4
4
  petal_qc/BTreport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -10,43 +10,48 @@ petal_qc/metrology/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
10
10
  petal_qc/metrology/all2csv.py,sha256=KTgEGaediylwkGN7gyWyQqUjU0f9FOa3xF4z1W38EcU,1569
11
11
  petal_qc/metrology/analyze_locking_points.py,sha256=isIWUsZrBpXgQbmXN4Gl5Zbv5R91UC8jQAU113_gRD8,20531
12
12
  petal_qc/metrology/cold_noise.py,sha256=PuTaQ73WrQCJdE9ezS4UFmA3atwCuvM0ZsUOYu1ZIBw,3106
13
- petal_qc/metrology/compare_Cores.py,sha256=0VLpsxav0TKggkGhbeoyYNMM4hVjEiE-xMOQMRf4oXI,6807
13
+ petal_qc/metrology/compare_Cores.py,sha256=ysfDs0QIqIH0BBgy5RUXZNSzCgjqLfjN2XH7MLBnRNE,7458
14
14
  petal_qc/metrology/comparisonTable.py,sha256=6Zmh-x0ahs28ZJQuHMrIiRcblUmTN1_-1otFSRNMPds,1743
15
15
  petal_qc/metrology/convert_mitutoyo.py,sha256=HdXQzFL5y7r8qXDzti91VItDQ-y6D9rEAYknn4yHwBs,5449
16
16
  petal_qc/metrology/convert_smartscope.py,sha256=0vAEYn7ec4qTnLfjphj1QA6tK3vZsXyF6nYYj3jE5Yc,6174
17
- petal_qc/metrology/coreMetrology.py,sha256=aNRlNLAHc_0r36dObpkEKkCSrO9JZZBvZP6O2ubPgGg,13673
17
+ petal_qc/metrology/coreMetrology.py,sha256=XowWTej50USTY48WeizQ2SYHCLDh7KNZOpHSd9MNFN4,13688
18
18
  petal_qc/metrology/data2csv.py,sha256=2ttMSmfGLPIaOqZGima2dH6sdnSRAFTHlEbSOfW5ebA,1809
19
19
  petal_qc/metrology/do_Metrology.py,sha256=rp_CfBXBSL30mr6nZdN5UwLqljFcsFzmMLEm0YJLmkg,4293
20
20
  petal_qc/metrology/flatness4nigel.py,sha256=SUHwn6pCEUWQV_62-_9-VKrmUdL4gVQcSA3aTtYq958,4071
21
21
  petal_qc/metrology/gtkutils.py,sha256=1pOTxiE2EZR9zNNNT5cOetga_4NG9DzLaqQPI4c1EzE,3372
22
22
  petal_qc/metrology/petal_flatness.py,sha256=4fajnx0mhABDn89VFZvzICD6055A2l6BSgaXgb2rTHI,11395
23
+ petal_qc/metrology/readAVSdata.py,sha256=B8oBPKY-B0Fi-wWY5sdxARxksFzz_rfOpPBV35Qaee8,23692
23
24
  petal_qc/metrology/show_data_file.py,sha256=yZPcmMy-1EWWySiBBx0hNB3tPVh19bTr0PDaXSyIF4c,4057
24
25
  petal_qc/metrology/testSummary.py,sha256=0BhcEd1BPz2Mbonzi8nyZOzNSzpUqowBFNl5cVutqsk,994
25
26
  petal_qc/metrology/test_paralelism.py,sha256=_j__OdUwdXWM494_9HpGPuPHixMwwVphCcvHEfzWi_k,1981
26
- petal_qc/test/prepareDESYfiles.py,sha256=ao5lRnr5SqcBGiFs2F-3YxuLYRdfRRuwUwzKoPWr74k,2978
27
+ petal_qc/metrology/uploadPetalInformation.py,sha256=pQdi9x3wC1irMn8xMaMssNVZGzimsyvdsQ_2KeJx3_Y,26117
28
+ petal_qc/test/getAVSjson.py,sha256=o8AYtyr7Vnp-enznmQ-NNiivZipmxtoVrmsfnRCl0X4,977
29
+ petal_qc/test/getAVStests.py,sha256=LU4-iedng0i0PPogPwTpUmDlKY0aBxQizC7by4d-W98,4520
30
+ petal_qc/test/getPetalCoreTestSummary.py,sha256=iutD_tylwA46VtCd1b3L6Cd4Fv1pIELKjIMgKufRofk,2590
31
+ petal_qc/test/prepareDESYfiles.py,sha256=mJyu1UXSe_VnCv0vHogjhSxl5PCvjmiySNPsDCWoCt0,3582
27
32
  petal_qc/test/test_Graphana.py,sha256=fXcqHzgrfZGjSF-WoMLl96G97XjXVnynHYC-5rKw_-c,1032
28
33
  petal_qc/test/test_coreThermal.py,sha256=YRPK3DGG7Tz66K4Kka3euXgUDzW_JlIqSYicMBhb96E,1516
29
34
  petal_qc/thermal/CSVImage.py,sha256=Vt2kYmUsZWkQvxcF8fDda3HO1Rb29kPQHnEoHFCqWYo,2038
30
35
  petal_qc/thermal/DebugPlot.py,sha256=OmREFwNDAKgoObDmcgHrB4d8m3bf2znfsKVGsb5rBGQ,2119
31
36
  petal_qc/thermal/IRBFile.py,sha256=yScjQrAeB9dnNNO-6_8S34vzrtme0F6y3kwYahMKDxc,22271
32
- petal_qc/thermal/IRCore.py,sha256=y79YEQrq4q2hSdmYbOF7jjEA-wy50Qun0g_AmrRUmls,3056
33
- petal_qc/thermal/IRDataGetter.py,sha256=5z9kUo5is-D6Cc2B7w8e588RzhUaRsDRRBRvz9ggqh4,10925
34
- petal_qc/thermal/IRPetal.py,sha256=5QGGnfxt7QTqEmtqF6o8Kgvtu_FB4wGNH3CVSU4TlIk,38334
37
+ petal_qc/thermal/IRCore.py,sha256=sidf7HtrzEUcllv0E_o1Hks-2_2dl4Og_LWcwgPNRcE,3062
38
+ petal_qc/thermal/IRDataGetter.py,sha256=kRcMbQfNf63VRTVu-ueoRNJma8RzR5pK4MmrXNKemy0,10913
39
+ petal_qc/thermal/IRPetal.py,sha256=7PX0MlrsTEYlhvdlRMTrmoc7OvSq6bayUveB6bfu9SU,40749
35
40
  petal_qc/thermal/IRPetalParam.py,sha256=hrQ9FevzWctvBVHeQ71G0WzllVEa5rYkJom2ezfFYHc,3674
36
41
  petal_qc/thermal/PetalColorMaps.py,sha256=6CvJHzRdojLHu3BROYSekHw8g_BJ1lJ_edyhovTIydU,3831
37
- petal_qc/thermal/Petal_IR_Analysis.py,sha256=8Deh_bJ5B7DdaUV18saboF7fXZ_8Bt1vkUlsk5RqVeo,3910
38
- petal_qc/thermal/PipeFit.py,sha256=bipXxJGxrwlgbrFv8WJA1Ds7Kj4oUwEyqTIswpgni9o,17214
42
+ petal_qc/thermal/Petal_IR_Analysis.py,sha256=ALIER9fLn2R26IMhPVzEDL6tlK7XNbCtRtH0y6kTaEU,3950
43
+ petal_qc/thermal/PipeFit.py,sha256=vczVMN6EI02rkLzfZdU7mwIaQXoKhF2m5svPnTn7Tl8,17258
39
44
  petal_qc/thermal/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
- petal_qc/thermal/analyze_IRCore.py,sha256=LDmS4eTn2o-TQzFoFVoBwCsXwi9-n-Z5ZCFedkHaq68,20053
45
+ petal_qc/thermal/analyze_IRCore.py,sha256=fn1Y0_Iv149m4avRtXK4wSyCiYa1naTRmnT9sFoC4QA,20234
41
46
  petal_qc/thermal/contours.py,sha256=ampCKm4byZYKb_4eJFjIkdFIl2bqVXD2mV13d2XUWlw,8244
42
- petal_qc/thermal/coreThermal.py,sha256=VNm72f9mqrCrj9FXk8Z9ovNHa8NYYPnk9YahIj_CLcg,12858
43
- petal_qc/thermal/create_IRCore.py,sha256=mnAmDTF_t3AMOA7Wv19yXT1IX4oFCgfHwHpdnamZvmI,7311
44
- petal_qc/thermal/create_core_report.py,sha256=01WTPXO3IEjAdazQibCaVN_PTgaExrDgXq2XlMslpoc,4935
47
+ petal_qc/thermal/coreThermal.py,sha256=VMsK9ErHTBhDNPKY4f2QVT_6eD7xXZ_qLqOLX-0E8sQ,13024
48
+ petal_qc/thermal/create_IRCore.py,sha256=T2YpBfbsVUvGuyFqZwcPMmYD2VJo5bE5yL72nskqcb0,8109
49
+ petal_qc/thermal/create_core_report.py,sha256=iVjRb-EJ6og-l0_KcAciELX39WWe5JHyt3swyW8xmbc,5484
45
50
  petal_qc/thermal/pipe_back.npz,sha256=yooZuVYtHU541HcV6Gh_5B0BqdYAVEvYAuVvMMSY7Jc,3632
46
51
  petal_qc/thermal/pipe_front.npz,sha256=DuwruG9C2Z1rLigqWMApY4Orsf1SGUQGKy0Yan8Bk8A,3697
47
52
  petal_qc/thermal/pipe_read.py,sha256=HrAtEbf8pMhJDETzkevodiTbuprIOh4yHv6PzpRoz7Q,5040
48
53
  petal_qc/thermal/show_IR_petal.py,sha256=vKb8wm9Y7erAdCb93ODREv2qfSexNMfJpV-67wfOhBw,13159
49
- petal_qc/utils/Geometry.py,sha256=zlbMcBdyFvmkSXDJzZ36bXDc-Abagksv6fyEXJ3pHek,19869
54
+ petal_qc/utils/Geometry.py,sha256=NSz64lKNEh9ny5ZGRQ4abA1zPiJNJcGnTenTGZNNB8o,19865
50
55
  petal_qc/utils/Progress.py,sha256=gCti4n2xfCcOTlAff5GchabGE5BCwavvDZYYKdbEsXU,4064
51
56
  petal_qc/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
52
57
  petal_qc/utils/all_files.py,sha256=4ja_DkbTYPY3gUPBAZq0p7KB9lnXZx-OCnpTHg9tm4I,1044
@@ -54,8 +59,8 @@ petal_qc/utils/docx_utils.py,sha256=Eye16PF8W0mPBVdQvgFKWxPYV7-hzBgANPDZtUEjzf8,
54
59
  petal_qc/utils/fit_utils.py,sha256=3KUGWpBMV-bVDkQHWBigXot8chOpjAVBJ5H5b5dbdjk,5349
55
60
  petal_qc/utils/readGraphana.py,sha256=7EqcjtIWdtV6nyVmlKDHC74Id4a-E3M7j7XSpCyBlSQ,1874
56
61
  petal_qc/utils/utils.py,sha256=CqCsNIcEg6FQb3DN70tmqeLVLlQqsRfDzhfGevlnfBc,4035
57
- petal_qc-0.0.9.dist-info/METADATA,sha256=3R_OrAalGtp3SBWMkQ-4PMrwu9u8jUa-eQvnG4mxFD8,943
58
- petal_qc-0.0.9.dist-info/WHEEL,sha256=uCRv0ZEik_232NlR4YDw4Pv3Ajt5bKvMH13NUU7hFuI,91
59
- petal_qc-0.0.9.dist-info/entry_points.txt,sha256=D1vXewVYzKMi3qN-SFm2ttq20GLVsxAScU8a3t24Cr0,201
60
- petal_qc-0.0.9.dist-info/top_level.txt,sha256=CCo1Xe6kLS79PruhsB6bk2CuL9VFtNdNpgJjYUs4jk4,9
61
- petal_qc-0.0.9.dist-info/RECORD,,
62
+ petal_qc-0.0.10.dist-info/METADATA,sha256=Y5z3NUlXytejzKx7jvOazGcoYkQylARDiH7uXmkc8AY,944
63
+ petal_qc-0.0.10.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
64
+ petal_qc-0.0.10.dist-info/entry_points.txt,sha256=wXWEWQdgG2x1x4MeTdwBUwsYbXaC7o2Ky5QXWDbsyiw,258
65
+ petal_qc-0.0.10.dist-info/top_level.txt,sha256=CCo1Xe6kLS79PruhsB6bk2CuL9VFtNdNpgJjYUs4jk4,9
66
+ petal_qc-0.0.10.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (74.1.1)
2
+ Generator: setuptools (75.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -4,3 +4,4 @@ coreMetrology = petal_qc:coreMetrology
4
4
  coreThermal = petal_qc:coreThermal
5
5
  doMetrology = petal_qc:doMetrology
6
6
  petalqc_dashBoard = petal_qc:dashBoard
7
+ uploadPetalInformation = petal_qc:uploadPetalInformation