mg-pso-gui 0.2.62__tar.gz → 0.2.63__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 (80) hide show
  1. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/PKG-INFO +1 -1
  2. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mg_pso_gui.egg-info/PKG-INFO +1 -1
  3. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/SetupTab/StepView.py +1 -0
  4. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/PSORunner.py +32 -2
  5. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/setup.py +1 -1
  6. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mg_pso_gui.egg-info/SOURCES.txt +0 -0
  7. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mg_pso_gui.egg-info/dependency_links.txt +0 -0
  8. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mg_pso_gui.egg-info/entry_points.txt +0 -0
  9. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mg_pso_gui.egg-info/requires.txt +0 -0
  10. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mg_pso_gui.egg-info/top_level.txt +0 -0
  11. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/__init__.py +0 -0
  12. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/General/ParameterView.py +0 -0
  13. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/General/__init__.py +0 -0
  14. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/HomePage.py +0 -0
  15. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/OptionManager.py +0 -0
  16. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/OptionManager_backup.py +0 -0
  17. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/PlatformTab/PlatformTab.py +0 -0
  18. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/PlatformTab/__init__.py +0 -0
  19. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/RunTab/OptimalParameterView.py +0 -0
  20. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/RunTab/RunTab.py +0 -0
  21. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/RunTab/__init__.py +0 -0
  22. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/SetupTab/BoundsEditorWindow.py +0 -0
  23. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/SetupTab/BoundsList.py +0 -0
  24. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/SetupTab/CustomFunctionEditorWindow.py +0 -0
  25. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/SetupTab/CustomFunctionMetrics.py +0 -0
  26. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/SetupTab/FunctionsList.py +0 -0
  27. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/SetupTab/ListEditor.py +0 -0
  28. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/SetupTab/ListParametersView.py +0 -0
  29. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/SetupTab/OverrideParameterMetrics.py +0 -0
  30. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/SetupTab/OverrideParameterWindow.py +0 -0
  31. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/SetupTab/SetupTab.py +0 -0
  32. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/SetupTab/__init__.py +0 -0
  33. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/VisualizeTab/MatrixEditor.py +0 -0
  34. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/VisualizeTab/SideBar.py +0 -0
  35. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/VisualizeTab/VisualizeTab.py +0 -0
  36. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/VisualizeTab/__init__.py +0 -0
  37. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/__init__.py +0 -0
  38. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/defaults/__init__.py +0 -0
  39. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/defaults/optimization.json +0 -0
  40. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/defaults/sampling.json +0 -0
  41. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/defaults/sensitivity.json +0 -0
  42. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/images/collapse.png +0 -0
  43. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/images/down.png +0 -0
  44. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/images/expand.png +0 -0
  45. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/images/play.png +0 -0
  46. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/images/plus.png +0 -0
  47. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/images/refresh.png +0 -0
  48. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/images/refresh_hd.png +0 -0
  49. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/images/stop.png +0 -0
  50. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/images/test.png +0 -0
  51. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/images/trash.png +0 -0
  52. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/gui/images/up.png +0 -0
  53. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/mgpsogui.py +0 -0
  54. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/start.yaml +0 -0
  55. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/CTkToolTip/__init__.py +0 -0
  56. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/CTkToolTip/ctk_tooltip.py +0 -0
  57. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/GraphGenerator.py +0 -0
  58. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/__init__.py +0 -0
  59. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/debug.py +0 -0
  60. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/helpers.py +0 -0
  61. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/recosu/__init__.py +0 -0
  62. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/recosu/pso/__init__.py +0 -0
  63. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/recosu/pso/csip_access.py +0 -0
  64. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/recosu/pso/pso.py +0 -0
  65. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/recosu/sampling/__init__.py +0 -0
  66. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/recosu/sampling/halton/__init__.py +0 -0
  67. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/recosu/sampling/halton/halton.py +0 -0
  68. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/recosu/sampling/halton/prime.py +0 -0
  69. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/recosu/sampling/random/__init__.py +0 -0
  70. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/recosu/sampling/random/random_sampler.py +0 -0
  71. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/recosu/sampling/sample_trace_writer.py +0 -0
  72. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/recosu/sampling/sampler_task.py +0 -0
  73. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/recosu/sampling/sampling.py +0 -0
  74. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/recosu/utils/__init__.py +0 -0
  75. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/recosu/utils/plot/__init__.py +0 -0
  76. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/recosu/utils/plot/cost_steps.py +0 -0
  77. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/recosu/utils/trace_writer.py +0 -0
  78. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/recosu/utils/utils.py +0 -0
  79. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/mgpsogui/util/sampler_test_driver.py +0 -0
  80. {mg_pso_gui-0.2.62 → mg_pso_gui-0.2.63}/setup.cfg +0 -0
@@ -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>
@@ -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>
@@ -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
 
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
  import codecs
3
3
  import os
4
4
 
5
- VERSION = '0.2.62'
5
+ VERSION = '0.2.63'
6
6
  DESCRIPTION = 'GUI for MG-PSO'
7
7
  LONG_DESCRIPTION = open('../README.md').read()
8
8
 
File without changes