mg-pso-gui 0.1.130__tar.gz → 0.1.132__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.132}/PKG-INFO +1 -1
  2. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mg_pso_gui.egg-info/PKG-INFO +1 -1
  3. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/HomePage.py +13 -2
  4. mg-pso-gui-0.1.132/mgpsogui/util/helpers.py +68 -0
  5. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/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.132}/mg_pso_gui.egg-info/SOURCES.txt +0 -0
  8. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mg_pso_gui.egg-info/dependency_links.txt +0 -0
  9. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mg_pso_gui.egg-info/entry_points.txt +0 -0
  10. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mg_pso_gui.egg-info/requires.txt +0 -0
  11. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mg_pso_gui.egg-info/top_level.txt +0 -0
  12. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/__init__.py +0 -0
  13. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/OptionManager.py +0 -0
  14. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/PlatformTab/PlatformTab.py +0 -0
  15. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/PlatformTab/__init__.py +0 -0
  16. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/RunTab/RunTab.py +0 -0
  17. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/RunTab/__init__.py +0 -0
  18. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/SetupTab/BoundsEditorWindow.py +0 -0
  19. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/SetupTab/BoundsList.py +0 -0
  20. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/SetupTab/CalibrationParametersView.py +0 -0
  21. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/SetupTab/FunctionsList.py +0 -0
  22. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/SetupTab/ListParametersView.py +0 -0
  23. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/SetupTab/OptimalParameterView.py +0 -0
  24. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/SetupTab/SetupTab.py +0 -0
  25. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/SetupTab/StaticParameterView.py +0 -0
  26. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/SetupTab/StepView.py +0 -0
  27. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/SetupTab/__init__.py +0 -0
  28. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/VisualizeTab/SideBar.py +0 -0
  29. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/VisualizeTab/VisualizeTab.py +0 -0
  30. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/VisualizeTab/__init__.py +0 -0
  31. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/__init__.py +0 -0
  32. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/images/IGOW 4 Logo.png +0 -0
  33. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/images/collapse.png +0 -0
  34. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/images/down.png +0 -0
  35. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/images/expand.png +0 -0
  36. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/images/play.png +0 -0
  37. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/images/refresh.png +0 -0
  38. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/images/refresh_hd.png +0 -0
  39. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/images/stop.png +0 -0
  40. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/images/test.png +0 -0
  41. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/images/trash.png +0 -0
  42. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/gui/images/up.png +0 -0
  43. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/mgpsogui.py +0 -0
  44. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/start.yaml +0 -0
  45. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/CTkToolTip/__init__.py +0 -0
  46. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/CTkToolTip/ctk_tooltip.py +0 -0
  47. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/GraphGenerator.py +0 -0
  48. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/PSORunner.py +0 -0
  49. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/__init__.py +0 -0
  50. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/debug.py +0 -0
  51. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/recosu/__init__.py +0 -0
  52. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/recosu/pso/__init__.py +0 -0
  53. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/recosu/pso/csip_access.py +0 -0
  54. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/recosu/pso/pso.py +0 -0
  55. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/recosu/sampling/__init__.py +0 -0
  56. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/recosu/sampling/halton/__init__.py +0 -0
  57. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/recosu/sampling/halton/halton.py +0 -0
  58. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/recosu/sampling/halton/prime.py +0 -0
  59. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/recosu/sampling/random/__init__.py +0 -0
  60. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/recosu/sampling/random/random_sampler.py +0 -0
  61. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/recosu/sampling/sample_trace_writer.py +0 -0
  62. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/recosu/sampling/sampler_task.py +0 -0
  63. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/recosu/sampling/sampling.py +0 -0
  64. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/recosu/utils/__init__.py +0 -0
  65. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/recosu/utils/plot/__init__.py +0 -0
  66. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/recosu/utils/plot/cost_steps.py +0 -0
  67. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/recosu/utils/trace_writer.py +0 -0
  68. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/recosu/utils/utils.py +0 -0
  69. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/mgpsogui/util/sampler_test_driver.py +0 -0
  70. {mg-pso-gui-0.1.130 → mg-pso-gui-0.1.132}/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.132
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.132
4
4
  Summary: GUI for MG-PSO
5
5
  Author: Robert Cordingly
6
6
  Author-email: <rcording@uw.ed>
@@ -541,7 +541,18 @@ 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.stop()
548
+ self.footer_progress_bar.configure(mode="determinate")
549
+ self.footer_progress_bar.set(data["percent"]/100)
550
+ #self.progress_message_left.configure(text="Percent Complete: " + str(round(data["percent"])) + "%")
551
+ #self.progress_message_middle.configure(text=str(completed_rounds) + "/" + str(total_rounds))
552
+ self.footer_progress_label.configure(text="Round: " + str(data["round"]) + " - Step: " + str(data["step"]))
553
+ #self.progress_message_right.configure(text="Best Cost: " + str(best_cost))
554
+
555
+ """with open(os.path.join(folder, 'error.txt'), 'r') as f:
545
556
  lines = f.readlines()
546
557
  lines_string = "".join(lines)
547
558
  self.data_cache = lines_string
@@ -585,7 +596,7 @@ class App(customtkinter.CTk):
585
596
  self.progress_message_left.configure(text="")
586
597
  self.progress_message_middle.configure(text="Starting new round...")
587
598
  self.footer_progress_label.configure(text="Next round...")
588
- self.progress_message_right.configure(text="")
599
+ self.progress_message_right.configure(text="")"""
589
600
 
590
601
 
591
602
 
@@ -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.132'
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