mg-pso-gui 0.2.62__py3-none-any.whl → 0.2.63__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mg-pso-gui
3
- Version: 0.2.62
3
+ Version: 0.2.63
4
4
  Summary: GUI for MG-PSO
5
5
  Author: Robert Cordingly
6
6
  Author-email: <rcording@uw.ed>
@@ -22,7 +22,7 @@ mgpsogui/gui/SetupTab/ListParametersView.py,sha256=mkGaC5cXhEOy5oD0MbTyK9z7VGZp0
22
22
  mgpsogui/gui/SetupTab/OverrideParameterMetrics.py,sha256=rBfaSitYDOajbHvyi2TfoXAHYlz1cCt028UVpIJ_Dc0,3369
23
23
  mgpsogui/gui/SetupTab/OverrideParameterWindow.py,sha256=UpZDxTaFxee0BeviUYXeiIlMNYNy00qz3zlMlM5VcXE,1291
24
24
  mgpsogui/gui/SetupTab/SetupTab.py,sha256=3V8LYvg5ulTll1hhguB_XpSoOR-w72vHh_Z3gw3nCxc,2758
25
- mgpsogui/gui/SetupTab/StepView.py,sha256=e3QhepeAfDJdhefsJvzyppRuMdVAFKEnbZLtrFIczU4,8936
25
+ mgpsogui/gui/SetupTab/StepView.py,sha256=Zoz-gw1UWbdA8j_0VIE9lGze4CJ0udSXJexB3HLB6Dk,8989
26
26
  mgpsogui/gui/SetupTab/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
27
  mgpsogui/gui/VisualizeTab/MatrixEditor.py,sha256=Gzyl2hRgjIfO5n0bCZZoXp_vOFvfsJPaGXDUMeRQg10,3171
28
28
  mgpsogui/gui/VisualizeTab/SideBar.py,sha256=wPjzA8ZZsCTxBKN0_6-_ABtU5BeHqytNAWfKCWAPoe8,22106
@@ -44,7 +44,7 @@ mgpsogui/gui/images/test.png,sha256=MUnVpRK-isxhEHzx4Q6Yh0M6FRZD1qvgCHH2XmiSBbk,
44
44
  mgpsogui/gui/images/trash.png,sha256=j8cf0kWbJd-4Jp20lUVV1o1NSeQ4v1Ej4gfcIA3DVRQ,2958
45
45
  mgpsogui/gui/images/up.png,sha256=AQvFWCUqSQNaQ1E6LKZ9zNfSvW6t4mgy8uswdg9T2Hg,2457
46
46
  mgpsogui/util/GraphGenerator.py,sha256=dKzDPMK-0S6j1yIp5xoQIgN9GTKMhGpboAXjofCpmIk,31973
47
- mgpsogui/util/PSORunner.py,sha256=zjOAKH7PBbNVT0imwGDIPJxwPD54eFuDjfIUaNeWcbY,22033
47
+ mgpsogui/util/PSORunner.py,sha256=Rt3bFxiZlcNqK74kAMfFLfI9XCSGRZU717WW6NX0wqk,23115
48
48
  mgpsogui/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
49
  mgpsogui/util/debug.py,sha256=Swzny9_1S-CCONWGssj9iDoSpbwu5Vr4f95g_9L8bec,19759
50
50
  mgpsogui/util/helpers.py,sha256=Ht2rge_4pGO7halz6KoLsL2eukB0k2tlkx68lBBmBA8,2669
@@ -69,8 +69,8 @@ mgpsogui/util/recosu/utils/trace_writer.py,sha256=V9BJlOjCbNYGoXGEk3CF5wjifBxvar
69
69
  mgpsogui/util/recosu/utils/utils.py,sha256=QB8vftq3142ekG0ORjz0ZBHU5YknXbR0oTsrxrPAsF0,3951
70
70
  mgpsogui/util/recosu/utils/plot/__init__.py,sha256=h1KjM7_tNDv351pcwt8A6Ibb1jhwWyx5Gbu-zj-sI3Q,71
71
71
  mgpsogui/util/recosu/utils/plot/cost_steps.py,sha256=1Ce11AJyweWkmvjXPxEygzS-h8yVLmQEDLS53yjPLqQ,3779
72
- mg_pso_gui-0.2.62.dist-info/METADATA,sha256=-IyPo9J96xnIAJbA0K3bDomX0N8V_mwGbT2okuOhBt0,9455
73
- mg_pso_gui-0.2.62.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
74
- mg_pso_gui-0.2.62.dist-info/entry_points.txt,sha256=jg82VOFjR1XDGrchs1wJSCqKYE4Ozv12aBcCSp--koA,117
75
- mg_pso_gui-0.2.62.dist-info/top_level.txt,sha256=y7JuS9xJN5YdxUsQ3PSVjN8MzQAnR146bP3ZN3PYWdE,9
76
- mg_pso_gui-0.2.62.dist-info/RECORD,,
72
+ mg_pso_gui-0.2.63.dist-info/METADATA,sha256=G3hZZsJnO5n7qnZOyGF9Oqem9TEI7em2uiAnSxduzYc,9455
73
+ mg_pso_gui-0.2.63.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
74
+ mg_pso_gui-0.2.63.dist-info/entry_points.txt,sha256=jg82VOFjR1XDGrchs1wJSCqKYE4Ozv12aBcCSp--koA,117
75
+ mg_pso_gui-0.2.63.dist-info/top_level.txt,sha256=y7JuS9xJN5YdxUsQ3PSVjN8MzQAnR146bP3ZN3PYWdE,9
76
+ mg_pso_gui-0.2.63.dist-info/RECORD,,
@@ -85,6 +85,7 @@ class StepView(CTkScrollableFrame):
85
85
 
86
86
  if (self.mode == "Sensitivity Analysis"):
87
87
  folder = self.option_manager.get_project_folder()
88
+ folder = os.path.join(folder, "results")
88
89
 
89
90
  # File all CSV files in folder and put them into list with strings as path
90
91
  files = []
@@ -230,7 +230,15 @@ def run_sampling(data, mode, folder, results_queue):
230
230
 
231
231
  output_steps = process_steps(data)
232
232
 
233
- config['step_trace'] = os.path.join(folder, 'pso_step_trace.json')
233
+ trace_file = os.path.join(folder, 'results', mode + '_trace.csv')
234
+ file_output_mode = data["sampling_output_mode"]
235
+ if file_output_mode == "Append":
236
+ # Backup trace file if it exists
237
+ if os.path.exists(trace_file):
238
+ shutil.copyfile(trace_file, trace_file + ".bak")
239
+
240
+
241
+ config['step_trace'] = os.path.join(folder, 'pso_step_trace.json') # Do we need this?
234
242
 
235
243
  print("Parsing Parameters...\n", flush=True)
236
244
  print("steps: ", flush=True)
@@ -256,12 +264,34 @@ def run_sampling(data, mode, folder, results_queue):
256
264
  mode,
257
265
  conf=config,
258
266
  metainfo=metainfo if len(metainfo) > 0 else None,
259
- trace_file=os.path.join(folder, 'results', mode + '_trace.csv'),
267
+ trace_file=trace_file,
260
268
  offset=int(pp('offset', parameter_map)))
261
269
  results_queue.put(trace)
262
270
  print(trace, flush=True)
263
271
  print("\n", flush=True)
264
272
 
273
+ if file_output_mode == "Append" and os.path.exists(trace_file + ".bak"):
274
+ # Read the backup file
275
+ with open(trace_file + ".bak", 'r') as f2:
276
+ backup_lines = f2.readlines()
277
+
278
+ # Read the trace file
279
+ with open(trace_file, 'r') as f:
280
+ trace_lines = f.readlines()
281
+
282
+ # Extract headers
283
+ backup_header = backup_lines[0]
284
+ trace_header = trace_lines[0]
285
+
286
+ # Combine data ensuring headers are not duplicated
287
+ with open(trace_file, 'w') as f:
288
+ f.write(backup_header)
289
+ f.writelines(backup_lines[1:])
290
+ f.writelines(trace_lines[1:] if trace_header == backup_header else trace_lines)
291
+
292
+ # Remove the backup file
293
+ os.remove(trace_file + ".bak")
294
+
265
295
  def run_optimization(data, folder, results_queue):
266
296
  """_summary_
267
297