mg-pso-gui 0.2.124__tar.gz → 0.2.126__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.
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/PKG-INFO +1 -1
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mg_pso_gui.egg-info/PKG-INFO +1 -1
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mg_pso_gui.egg-info/SOURCES.txt +2 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/HomePage.py +33 -4
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/SetupTab/ListParametersView.py +1 -1
- mg_pso_gui-0.2.126/mgpsogui/util/recosu/pso/pso modified.py +585 -0
- mg_pso_gui-0.2.126/mgpsogui/util/recosu/pso/pso.py +383 -0
- mg_pso_gui-0.2.124/mgpsogui/util/recosu/pso/pso.py → mg_pso_gui-0.2.126/mgpsogui/util/recosu/pso/pso_new.py +1 -1
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/setup.py +1 -1
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mg_pso_gui.egg-info/dependency_links.txt +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mg_pso_gui.egg-info/entry_points.txt +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mg_pso_gui.egg-info/requires.txt +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mg_pso_gui.egg-info/top_level.txt +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/__init__.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/General/NoticeWindow.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/General/ParameterView.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/General/__init__.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/OptionManager.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/OptionManager_backup.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/PlatformTab/PlatformTab.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/PlatformTab/__init__.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/RunTab/OptimalParameterView.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/RunTab/RunTab.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/RunTab/__init__.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/SetupTab/BoundsEditorWindow.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/SetupTab/BoundsList.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/SetupTab/CustomFunctionEditorWindow.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/SetupTab/CustomFunctionMetrics.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/SetupTab/FunctionsList.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/SetupTab/ListEditor.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/SetupTab/OverrideParameterMetrics.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/SetupTab/OverrideParameterWindow.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/SetupTab/SamplingListView.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/SetupTab/SamplingNameListWindow.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/SetupTab/SetupTab.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/SetupTab/StepView.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/SetupTab/__init__.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/VisualizeTab/MatrixEditor.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/VisualizeTab/SideBar.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/VisualizeTab/VisualizeTab.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/VisualizeTab/__init__.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/__init__.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/defaults/__init__.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/defaults/optimization.json +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/defaults/sampling.json +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/defaults/sensitivity.json +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/images/collapse.png +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/images/down.png +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/images/expand.png +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/images/play.png +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/images/plus.png +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/images/refresh.png +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/images/refresh_hd.png +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/images/stop.png +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/images/test.png +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/images/trash.png +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/images/up.png +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/gui/messages/welcome.txt +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/mgpsogui.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/start.yaml +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/CTkToolTip/__init__.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/CTkToolTip/ctk_tooltip.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/GraphGenerator.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/PSORunner.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/__init__.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/debug.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/helpers.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/recosu/__init__.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/recosu/pso/__init__.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/recosu/pso/csip_access.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/recosu/sampling/__init__.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/recosu/sampling/halton/__init__.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/recosu/sampling/halton/halton.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/recosu/sampling/halton/prime.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/recosu/sampling/random/__init__.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/recosu/sampling/random/random_sampler.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/recosu/sampling/sample_trace_writer.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/recosu/sampling/sampler_task.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/recosu/sampling/sampling.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/recosu/utils/__init__.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/recosu/utils/plot/__init__.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/recosu/utils/plot/cost_steps.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/recosu/utils/trace_writer.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/recosu/utils/utils.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/mgpsogui/util/sampler_test_driver.py +0 -0
- {mg_pso_gui-0.2.124 → mg_pso_gui-0.2.126}/setup.cfg +0 -0
@@ -65,7 +65,9 @@ mgpsogui/util/CTkToolTip/ctk_tooltip.py
|
|
65
65
|
mgpsogui/util/recosu/__init__.py
|
66
66
|
mgpsogui/util/recosu/pso/__init__.py
|
67
67
|
mgpsogui/util/recosu/pso/csip_access.py
|
68
|
+
mgpsogui/util/recosu/pso/pso modified.py
|
68
69
|
mgpsogui/util/recosu/pso/pso.py
|
70
|
+
mgpsogui/util/recosu/pso/pso_new.py
|
69
71
|
mgpsogui/util/recosu/sampling/__init__.py
|
70
72
|
mgpsogui/util/recosu/sampling/sample_trace_writer.py
|
71
73
|
mgpsogui/util/recosu/sampling/sampler_task.py
|
@@ -113,6 +113,8 @@ class App(customtkinter.CTk):
|
|
113
113
|
self.calibration_data = None
|
114
114
|
self.testing = False
|
115
115
|
|
116
|
+
self.running_loop_ticks = 1
|
117
|
+
|
116
118
|
# Configure window
|
117
119
|
version = "v0.2.120"
|
118
120
|
self.title("COSU Manager (" + version + ")")
|
@@ -143,7 +145,7 @@ class App(customtkinter.CTk):
|
|
143
145
|
self.sidebar_frame.grid_columnconfigure(4, weight=1)
|
144
146
|
self.logo_label = customtkinter.CTkLabel(self.sidebar_frame, text="COSU Manager (" + version + ")", font=customtkinter.CTkFont(size=20, weight="bold"))
|
145
147
|
self.logo_label.grid(row=0, column=0, padx=(20, 10), pady=header_padding_y)
|
146
|
-
self.save_button = customtkinter.CTkButton(self.sidebar_frame, text="Save", width=60, command=self.save_project)
|
148
|
+
self.save_button = customtkinter.CTkButton(self.sidebar_frame, text="Save As", width=60, command=self.save_project)
|
147
149
|
self.save_button.grid(row=0, column=1, padx=header_padding_x, pady=header_padding_y)
|
148
150
|
self.load_button = customtkinter.CTkButton(self.sidebar_frame, text="Load", width=60, command=self.load_project)
|
149
151
|
self.load_button.grid(row=0, column=2, padx=header_padding_x, pady=header_padding_y)
|
@@ -241,7 +243,8 @@ class App(customtkinter.CTk):
|
|
241
243
|
GraphGenerator.generate_graphs(self)
|
242
244
|
|
243
245
|
def save_project(self):
|
244
|
-
|
246
|
+
name = self.option_manager.get_project_data()['name']
|
247
|
+
filename = asksaveasfilename(filetypes=[("JSON", "*.json")], initialfile=name, defaultextension="json", title="Save Project")
|
245
248
|
|
246
249
|
try:
|
247
250
|
self.option_manager.set_path(filename)
|
@@ -255,11 +258,32 @@ class App(customtkinter.CTk):
|
|
255
258
|
os.makedirs(os.path.join(folder, "results"))
|
256
259
|
|
257
260
|
self.save_button.configure(text="Saved!")
|
258
|
-
self.after(3000, lambda: self.save_button.configure(text="Save"))
|
261
|
+
self.after(3000, lambda: self.save_button.configure(text="Save As"))
|
259
262
|
except Exception as e:
|
260
263
|
self.save_button.configure(text="Error!")
|
261
264
|
print(e)
|
262
|
-
self.after(3000, lambda: self.save_button.configure(text="Save"))
|
265
|
+
self.after(3000, lambda: self.save_button.configure(text="Save As"))
|
266
|
+
|
267
|
+
def auto_save_project(self):
|
268
|
+
data = self.option_manager.get_project_data()
|
269
|
+
|
270
|
+
if (data['path'] != "/tmp"):
|
271
|
+
filename = os.path.join(data['path'], data['name'] + ".json")
|
272
|
+
|
273
|
+
try:
|
274
|
+
self.option_manager.set_path(filename)
|
275
|
+
self.option_manager.save_project(filename)
|
276
|
+
|
277
|
+
folder = self.option_manager.get_project_folder()
|
278
|
+
if not os.path.exists(folder):
|
279
|
+
os.makedirs(folder)
|
280
|
+
|
281
|
+
if not os.path.exists(os.path.join(folder, "results")):
|
282
|
+
os.makedirs(os.path.join(folder, "results"))
|
283
|
+
|
284
|
+
except Exception as e:
|
285
|
+
self.save_button.configure(text="Error!")
|
286
|
+
print(e)
|
263
287
|
|
264
288
|
def refresh_step_view(self, value):
|
265
289
|
mode = self.option_manager.get_mode()
|
@@ -419,6 +443,8 @@ class App(customtkinter.CTk):
|
|
419
443
|
NW(title="Error", message="A process is already running!", x = 400, y = 200)
|
420
444
|
return 0
|
421
445
|
|
446
|
+
self.auto_save_project()
|
447
|
+
|
422
448
|
data = self.option_manager.get_all_data()
|
423
449
|
mode = self.option_manager.get_mode()
|
424
450
|
data = data[mode]
|
@@ -528,8 +554,11 @@ class App(customtkinter.CTk):
|
|
528
554
|
active_tab = self.tabview.get()
|
529
555
|
if (active_tab == "Results"):
|
530
556
|
GraphGenerator.generate_graphs(self)
|
557
|
+
if (self.running_loop_ticks % 10 == 0):
|
558
|
+
self.auto_save_project()
|
531
559
|
finally:
|
532
560
|
self.after(1000, self.running_loop)
|
561
|
+
self.running_loop_ticks += 1
|
533
562
|
|
534
563
|
def watch_loop(self):
|
535
564
|
print("Watch loop running...")
|
@@ -138,7 +138,7 @@ class ListParametersView(CTkScrollableFrame):
|
|
138
138
|
row += 1
|
139
139
|
|
140
140
|
CTkButton(self.containerFrame, text="Open", command=self.open_csv).grid(row=row, column=0, padx=(5, 5), pady=(5, 5), sticky="ew")
|
141
|
-
CTkButton(self.containerFrame, text="
|
141
|
+
CTkButton(self.containerFrame, text="Paste", command=self.import_csv).grid(row=row, column=1, padx=(5, 5), pady=(5, 5), sticky="ew")
|
142
142
|
row += 1
|
143
143
|
|
144
144
|
|