mg-pso-gui 0.1.130__tar.gz → 0.1.131__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 (70) hide show
  1. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/PKG-INFO +1 -1
  2. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mg_pso_gui.egg-info/PKG-INFO +1 -1
  3. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/HomePage.py +12 -2
  4. mg-pso-gui-0.1.131/mgpsogui/util/helpers.py +68 -0
  5. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/setup.py +1 -1
  6. mg-pso-gui-0.1.130/mgpsogui/util/helpers.py +0 -22
  7. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mg_pso_gui.egg-info/SOURCES.txt +0 -0
  8. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mg_pso_gui.egg-info/dependency_links.txt +0 -0
  9. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mg_pso_gui.egg-info/entry_points.txt +0 -0
  10. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mg_pso_gui.egg-info/requires.txt +0 -0
  11. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mg_pso_gui.egg-info/top_level.txt +0 -0
  12. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/__init__.py +0 -0
  13. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/OptionManager.py +0 -0
  14. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/PlatformTab/PlatformTab.py +0 -0
  15. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/PlatformTab/__init__.py +0 -0
  16. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/RunTab/RunTab.py +0 -0
  17. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/RunTab/__init__.py +0 -0
  18. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/SetupTab/BoundsEditorWindow.py +0 -0
  19. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/SetupTab/BoundsList.py +0 -0
  20. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/SetupTab/CalibrationParametersView.py +0 -0
  21. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/SetupTab/FunctionsList.py +0 -0
  22. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/SetupTab/ListParametersView.py +0 -0
  23. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/SetupTab/OptimalParameterView.py +0 -0
  24. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/SetupTab/SetupTab.py +0 -0
  25. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/SetupTab/StaticParameterView.py +0 -0
  26. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/SetupTab/StepView.py +0 -0
  27. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/SetupTab/__init__.py +0 -0
  28. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/VisualizeTab/SideBar.py +0 -0
  29. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/VisualizeTab/VisualizeTab.py +0 -0
  30. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/VisualizeTab/__init__.py +0 -0
  31. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/__init__.py +0 -0
  32. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/images/IGOW 4 Logo.png +0 -0
  33. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/images/collapse.png +0 -0
  34. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/images/down.png +0 -0
  35. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/images/expand.png +0 -0
  36. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/images/play.png +0 -0
  37. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/images/refresh.png +0 -0
  38. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/images/refresh_hd.png +0 -0
  39. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/images/stop.png +0 -0
  40. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/images/test.png +0 -0
  41. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/images/trash.png +0 -0
  42. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/gui/images/up.png +0 -0
  43. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/mgpsogui.py +0 -0
  44. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/start.yaml +0 -0
  45. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/CTkToolTip/__init__.py +0 -0
  46. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/CTkToolTip/ctk_tooltip.py +0 -0
  47. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/GraphGenerator.py +0 -0
  48. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/PSORunner.py +0 -0
  49. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/__init__.py +0 -0
  50. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/debug.py +0 -0
  51. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/recosu/__init__.py +0 -0
  52. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/recosu/pso/__init__.py +0 -0
  53. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/recosu/pso/csip_access.py +0 -0
  54. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/recosu/pso/pso.py +0 -0
  55. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/recosu/sampling/__init__.py +0 -0
  56. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/recosu/sampling/halton/__init__.py +0 -0
  57. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/recosu/sampling/halton/halton.py +0 -0
  58. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/recosu/sampling/halton/prime.py +0 -0
  59. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/recosu/sampling/random/__init__.py +0 -0
  60. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/recosu/sampling/random/random_sampler.py +0 -0
  61. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/recosu/sampling/sample_trace_writer.py +0 -0
  62. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/recosu/sampling/sampler_task.py +0 -0
  63. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/recosu/sampling/sampling.py +0 -0
  64. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/recosu/utils/__init__.py +0 -0
  65. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/recosu/utils/plot/__init__.py +0 -0
  66. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/recosu/utils/plot/cost_steps.py +0 -0
  67. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/recosu/utils/trace_writer.py +0 -0
  68. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/recosu/utils/utils.py +0 -0
  69. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/mgpsogui/util/sampler_test_driver.py +0 -0
  70. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.131}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mg-pso-gui
3
- Version: 0.1.130
3
+ Version: 0.1.131
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.1.130
3
+ Version: 0.1.131
4
4
  Summary: GUI for MG-PSO
5
5
  Author: Robert Cordingly
6
6
  Author-email: <rcording@uw.ed>
@@ -541,7 +541,17 @@ class App(customtkinter.CTk):
541
541
  print(e)
542
542
 
543
543
  if (os.path.exists(os.path.join(folder, 'error.txt'))):
544
- with open(os.path.join(folder, 'error.txt'), 'r') as f:
544
+
545
+ data = hp.parse_pso_error(os.path.join(folder, 'error.txt'), len(self.option_manager.get_steps()))
546
+ self.progress_data = data["data"]
547
+ self.footer_progress_bar.configure(mode="determinate")
548
+ self.footer_progress_bar.set(data["percent"]/100)
549
+ #self.progress_message_left.configure(text="Percent Complete: " + str(round(data["percent"])) + "%")
550
+ #self.progress_message_middle.configure(text=str(completed_rounds) + "/" + str(total_rounds))
551
+ self.footer_progress_label.configure(text="Round: " + str(data["round"]) + " - Step: " + str(data["step"]))
552
+ #self.progress_message_right.configure(text="Best Cost: " + str(best_cost))
553
+
554
+ """with open(os.path.join(folder, 'error.txt'), 'r') as f:
545
555
  lines = f.readlines()
546
556
  lines_string = "".join(lines)
547
557
  self.data_cache = lines_string
@@ -585,7 +595,7 @@ class App(customtkinter.CTk):
585
595
  self.progress_message_left.configure(text="")
586
596
  self.progress_message_middle.configure(text="Starting new round...")
587
597
  self.footer_progress_label.configure(text="Next round...")
588
- self.progress_message_right.configure(text="")
598
+ self.progress_message_right.configure(text="")"""
589
599
 
590
600
 
591
601
 
@@ -0,0 +1,68 @@
1
+ def extract_final_round_values(data):
2
+ max_rounds = data['max_rounds'] + 1
3
+ steps = data['n_steps'] + 1
4
+
5
+ final_value = {}
6
+
7
+ for round in range(max_rounds):
8
+ for step in range(steps):
9
+ key = f"r{round}s{step}"
10
+ if key in data:
11
+ obj = data[key]
12
+ round_steps = []
13
+ for o_step in obj['steps']:
14
+ step_obj = {}
15
+ for param in o_step['param']:
16
+ if 'name' in param and 'value' in param:
17
+ step_obj[param['name']] = param['value']
18
+
19
+ round_steps.append(step_obj)
20
+ final_value["data"] = round_steps
21
+ final_value["index"] = key
22
+ return final_value
23
+
24
+ def parse_pso_error(file_path, num_steps):
25
+ lines = ""
26
+
27
+ with open(file_path, 'r') as f:
28
+ lines = f.readlines()
29
+
30
+ lines = [line for line in lines if 'best_cost' in line]
31
+ lines = [line.replace("pyswarms.single.global_best: ", "") for line in lines]
32
+
33
+ round = 1
34
+ step = 1
35
+
36
+ round_steps = {}
37
+ percents = []
38
+ best_costs = []
39
+ in100s = False
40
+ percent = 0
41
+ for line in lines:
42
+ best_cost = float(line.split('best_cost=')[1].strip())
43
+ percent = float(line.split('%')[0].strip())
44
+
45
+ best_costs.append(best_cost)
46
+ percents.append(percent)
47
+
48
+ # Percent is less than last percent or we are at the end of the file
49
+ if (percent == 100 and not in100s):
50
+ in100s = True
51
+
52
+ round_steps[f"Round: {round} - Step: {step}"] = {
53
+ "best_cost": best_costs,
54
+ "percent": percents
55
+ }
56
+
57
+ best_costs = []
58
+ percents = []
59
+
60
+ step += 1
61
+ if step > num_steps:
62
+ step = 1
63
+ round += 1
64
+
65
+ if percent != 100:
66
+ in100s = False
67
+
68
+ return {"round": round, "step": step, "percent": percent, "data": round_steps}
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
  import codecs
3
3
  import os
4
4
 
5
- VERSION = '0.1.130'
5
+ VERSION = '0.1.131'
6
6
  DESCRIPTION = 'GUI for MG-PSO'
7
7
  LONG_DESCRIPTION = open('../README.md').read()
8
8
 
@@ -1,22 +0,0 @@
1
- def extract_final_round_values(data):
2
- max_rounds = data['max_rounds'] + 1
3
- steps = data['n_steps'] + 1
4
-
5
- final_value = {}
6
-
7
- for round in range(max_rounds):
8
- for step in range(steps):
9
- key = f"r{round}s{step}"
10
- if key in data:
11
- obj = data[key]
12
- round_steps = []
13
- for o_step in obj['steps']:
14
- step_obj = {}
15
- for param in o_step['param']:
16
- if 'name' in param and 'value' in param:
17
- step_obj[param['name']] = param['value']
18
-
19
- round_steps.append(step_obj)
20
- final_value["data"] = round_steps
21
- final_value["index"] = key
22
- return final_value
File without changes