mg-pso-gui 0.1.127__tar.gz → 0.1.129__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.127 → mg-pso-gui-0.1.129}/PKG-INFO +1 -1
  2. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mg_pso_gui.egg-info/PKG-INFO +1 -1
  3. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mg_pso_gui.egg-info/SOURCES.txt +6 -1
  4. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/util/PSORunner.py +1 -1
  5. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/util/recosu/__init__.py +2 -1
  6. mg-pso-gui-0.1.129/mgpsogui/util/recosu/sampling/__init__.py +16 -0
  7. mg-pso-gui-0.1.129/mgpsogui/util/recosu/sampling/halton/__init__.py +0 -0
  8. mg-pso-gui-0.1.129/mgpsogui/util/recosu/sampling/halton/halton.py +45 -0
  9. mg-pso-gui-0.1.129/mgpsogui/util/recosu/sampling/halton/prime.py +82 -0
  10. mg-pso-gui-0.1.129/mgpsogui/util/recosu/sampling/random/__init__.py +0 -0
  11. mg-pso-gui-0.1.129/mgpsogui/util/recosu/sampling/random/random_sampler.py +34 -0
  12. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/setup.py +1 -1
  13. mg-pso-gui-0.1.127/mgpsogui/util/recosu/sampling/__init__.py +0 -9
  14. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mg_pso_gui.egg-info/dependency_links.txt +0 -0
  15. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mg_pso_gui.egg-info/entry_points.txt +0 -0
  16. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mg_pso_gui.egg-info/requires.txt +0 -0
  17. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mg_pso_gui.egg-info/top_level.txt +0 -0
  18. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/__init__.py +0 -0
  19. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/HomePage.py +0 -0
  20. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/OptionManager.py +0 -0
  21. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/PlatformTab/PlatformTab.py +0 -0
  22. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/PlatformTab/__init__.py +0 -0
  23. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/RunTab/RunTab.py +0 -0
  24. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/RunTab/__init__.py +0 -0
  25. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/SetupTab/BoundsEditorWindow.py +0 -0
  26. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/SetupTab/BoundsList.py +0 -0
  27. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/SetupTab/CalibrationParametersView.py +0 -0
  28. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/SetupTab/FunctionsList.py +0 -0
  29. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/SetupTab/ListParametersView.py +0 -0
  30. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/SetupTab/OptimalParameterView.py +0 -0
  31. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/SetupTab/SetupTab.py +0 -0
  32. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/SetupTab/StaticParameterView.py +0 -0
  33. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/SetupTab/StepView.py +0 -0
  34. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/SetupTab/__init__.py +0 -0
  35. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/VisualizeTab/SideBar.py +0 -0
  36. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/VisualizeTab/VisualizeTab.py +0 -0
  37. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/VisualizeTab/__init__.py +0 -0
  38. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/__init__.py +0 -0
  39. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/images/IGOW 4 Logo.png +0 -0
  40. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/images/collapse.png +0 -0
  41. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/images/down.png +0 -0
  42. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/images/expand.png +0 -0
  43. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/images/play.png +0 -0
  44. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/images/refresh.png +0 -0
  45. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/images/refresh_hd.png +0 -0
  46. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/images/stop.png +0 -0
  47. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/images/test.png +0 -0
  48. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/images/trash.png +0 -0
  49. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/gui/images/up.png +0 -0
  50. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/mgpsogui.py +0 -0
  51. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/start.yaml +0 -0
  52. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/util/CTkToolTip/__init__.py +0 -0
  53. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/util/CTkToolTip/ctk_tooltip.py +0 -0
  54. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/util/GraphGenerator.py +0 -0
  55. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/util/__init__.py +0 -0
  56. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/util/debug.py +0 -0
  57. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/util/helpers.py +0 -0
  58. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/util/recosu/pso/__init__.py +0 -0
  59. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/util/recosu/pso/csip_access.py +0 -0
  60. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/util/recosu/pso/pso.py +0 -0
  61. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/util/recosu/sampling/sample_trace_writer.py +0 -0
  62. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/util/recosu/sampling/sampler_task.py +0 -0
  63. /mg-pso-gui-0.1.127/mgpsogui/util/recosu/sampling/sampler.py → /mg-pso-gui-0.1.129/mgpsogui/util/recosu/sampling/sampling.py +0 -0
  64. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/util/recosu/utils/__init__.py +0 -0
  65. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/util/recosu/utils/plot/__init__.py +0 -0
  66. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/util/recosu/utils/plot/cost_steps.py +0 -0
  67. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/util/recosu/utils/trace_writer.py +0 -0
  68. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/util/recosu/utils/utils.py +0 -0
  69. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/mgpsogui/util/sampler_test_driver.py +0 -0
  70. {mg-pso-gui-0.1.127 → mg-pso-gui-0.1.129}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mg-pso-gui
3
- Version: 0.1.127
3
+ Version: 0.1.129
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.127
3
+ Version: 0.1.129
4
4
  Summary: GUI for MG-PSO
5
5
  Author: Robert Cordingly
6
6
  Author-email: <rcording@uw.ed>
@@ -53,8 +53,13 @@ mgpsogui/util/recosu/pso/csip_access.py
53
53
  mgpsogui/util/recosu/pso/pso.py
54
54
  mgpsogui/util/recosu/sampling/__init__.py
55
55
  mgpsogui/util/recosu/sampling/sample_trace_writer.py
56
- mgpsogui/util/recosu/sampling/sampler.py
57
56
  mgpsogui/util/recosu/sampling/sampler_task.py
57
+ mgpsogui/util/recosu/sampling/sampling.py
58
+ mgpsogui/util/recosu/sampling/halton/__init__.py
59
+ mgpsogui/util/recosu/sampling/halton/halton.py
60
+ mgpsogui/util/recosu/sampling/halton/prime.py
61
+ mgpsogui/util/recosu/sampling/random/__init__.py
62
+ mgpsogui/util/recosu/sampling/random/random_sampler.py
58
63
  mgpsogui/util/recosu/utils/__init__.py
59
64
  mgpsogui/util/recosu/utils/trace_writer.py
60
65
  mgpsogui/util/recosu/utils/utils.py
@@ -5,7 +5,7 @@ from queue import Empty
5
5
  import threading
6
6
  import time
7
7
  import os
8
- from .recosu.sampling.sampler import run_sampler
8
+ from .recosu.sampling.sampling import run_sampler
9
9
 
10
10
  #from cosu.pso import global_best
11
11
  from .recosu.pso import global_best
@@ -6,5 +6,6 @@ __author__ = 'Olaf David'
6
6
  __email__ = 'odavid@colostate.edu'
7
7
 
8
8
  from .pso import pso
9
- __all__ = ["pso"]
9
+ from .sampling import sampling
10
+ __all__ = ["pso", "sampling"]
10
11
 
@@ -0,0 +1,16 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ """
4
+ LUCA/PSO toolkit
5
+ =========================================
6
+ This is ...
7
+
8
+ """
9
+
10
+ __author__ = """Olaf David"""
11
+ __email__ = "odavid@colostate.edu"
12
+ __version__ = "1.0"
13
+
14
+ from .sampling import run_sampler
15
+
16
+ __all__ = ["run_sampler"]
@@ -0,0 +1,45 @@
1
+ from collections.abc import Iterable
2
+ import math
3
+ from ..sampling.halton.prime import generate_n_primes
4
+
5
+
6
+ def halton(index: int, base: int) -> float:
7
+ fraction: float = 1.0
8
+ result: float = 0
9
+
10
+ while index > 0:
11
+ fraction = fraction / base
12
+ result += fraction * (index % base)
13
+ index = math.floor(index / base)
14
+
15
+ return result
16
+
17
+
18
+ class HaltonSampleGenerator:
19
+ index: int
20
+ maxIndex: int
21
+ primes: list[int]
22
+
23
+ def __init__(self, count: int, offset: int, num_parameters: int):
24
+ assert (count > 0)
25
+ assert (offset >= 0)
26
+ self.index = offset + 1
27
+ self.maxIndex = offset + count + 1
28
+ self.primes = generate_n_primes(num_parameters)
29
+
30
+ def __iter__(self) -> Iterable[tuple[int, list[float]]]:
31
+ return self
32
+
33
+ def __next__(self) -> tuple[int, list[float]]:
34
+ if self.index >= self.maxIndex:
35
+ raise StopIteration
36
+
37
+ i = 0
38
+ values: list[float] = []
39
+ for base in self.primes:
40
+ values.append(halton(self.index, base))
41
+
42
+ result: tuple[int, list[float]] = (self.index, values)
43
+ self.index = self.index + 1
44
+ return result
45
+
@@ -0,0 +1,82 @@
1
+ from typing import List
2
+
3
+ PRIME_TABLE: List[int] = [
4
+ 2, 3, 5, 7, 11, 13, 17, 19, 23, 29,
5
+ 31, 37, 41, 43, 47, 53, 59, 61, 67, 71,
6
+ 73, 79, 83, 89, 97, 101, 103, 107, 109, 113,
7
+ 127, 131, 137, 139, 149, 151, 157, 163, 167, 173,
8
+ 179, 181, 191, 193, 197, 199, 211, 223, 227, 229,
9
+ 233, 239, 241, 251, 257, 263, 269, 271, 277, 281,
10
+ 283, 293, 307, 311, 313, 317, 331, 337, 347, 349,
11
+ 353, 359, 367, 373, 379, 383, 389, 397, 401, 409,
12
+ 419, 421, 431, 433, 439, 443, 449, 457, 461, 463,
13
+ 467, 479, 487, 491, 499, 503, 509, 521, 523, 541,
14
+ 547, 557, 563, 569, 571, 577, 587, 593, 599, 601,
15
+ 607, 613, 617, 619, 631, 641, 643, 647, 653, 659,
16
+ 661, 673, 677, 683, 691, 701, 709, 719, 727, 733,
17
+ 739, 743, 751, 757, 761, 769, 773, 787, 797, 809,
18
+ 811, 821, 823, 827, 829, 839, 853, 857, 859, 863,
19
+ 877, 881, 883, 887, 907, 911, 919, 929, 937, 941,
20
+ 947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013,
21
+ 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069,
22
+ 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151,
23
+ 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223,
24
+ 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291,
25
+ 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373,
26
+ 1381, 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451,
27
+ 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511,
28
+ 1523, 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583,
29
+ 1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657,
30
+ 1663, 1667, 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733,
31
+ 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811,
32
+ 1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879, 1889,
33
+ 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987,
34
+ 1993, 1997, 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053,
35
+ 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129,
36
+ 2131, 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, 2213,
37
+ 2221, 2237, 2239, 2243, 2251, 2267, 2269, 2273, 2281, 2287,
38
+ 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357,
39
+ 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423,
40
+ 2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531,
41
+ 2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, 2609, 2617,
42
+ 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687,
43
+ 2689, 2693, 2699, 2707, 2711, 2713, 2719, 2729, 2731, 2741,
44
+ 2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803, 2819,
45
+ 2833, 2837, 2843, 2851, 2857, 2861, 2879, 2887, 2897, 2903,
46
+ 2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999,
47
+ 3001, 3011, 3019, 3023, 3037, 3041, 3049, 3061, 3067, 3079,
48
+ 3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181,
49
+ 3187, 3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257,
50
+ 3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331,
51
+ 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413,
52
+ 3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511,
53
+ 3517, 3527, 3529, 3533, 3539, 3541, 3547, 3557, 3559, 3571,
54
+ 3581, 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643,
55
+ 3659, 3671, 3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727,
56
+ 3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797, 3803, 3821,
57
+ 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907,
58
+ 3911, 3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989,
59
+ 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057,
60
+ 4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129, 4133, 4139,
61
+ 4153, 4157, 4159, 4177, 4201, 4211, 4217, 4219, 4229, 4231,
62
+ 4241, 4243, 4253, 4259, 4261, 4271, 4273, 4283, 4289, 4297,
63
+ 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409
64
+ ]
65
+
66
+
67
+ def generate_n_primes(n: int) -> List[int]:
68
+ if n < len(PRIME_TABLE):
69
+ return PRIME_TABLE[0:n]
70
+
71
+ primes: List[int] = PRIME_TABLE.copy()
72
+ num: int = primes[-1] + 2
73
+ while len(primes) < n:
74
+ is_prime = True
75
+ for p in primes:
76
+ if num % p == 0:
77
+ is_prime = False
78
+ break
79
+ if is_prime:
80
+ primes.append(num)
81
+ num += 2
82
+ return primes
@@ -0,0 +1,34 @@
1
+ from collections.abc import Iterable
2
+ import random
3
+
4
+
5
+ class RandomSampleGenerator:
6
+ index: int
7
+ count: int
8
+ num_parameters: int
9
+ rand: random.Random
10
+
11
+ def __init__(self, count: int, num_parameters: int):
12
+ assert (count > 0)
13
+ self.index = 1
14
+ self.count = count + 1
15
+ self.num_parameters = num_parameters
16
+ self.rand = random.Random()
17
+
18
+ def __iter__(self) -> Iterable[tuple[int, list[float]]]:
19
+ return self
20
+
21
+ def __next__(self) -> tuple[int, list[float]]:
22
+ if self.index >= self.count:
23
+ raise StopIteration
24
+
25
+ i: int = 0
26
+ values: list[float] = []
27
+ while i < self.num_parameters:
28
+ values.append(self.rand.uniform(0, 1))
29
+ i = i + 1
30
+
31
+ result: tuple[int, list[float]] = (self.index, values)
32
+ self.index = self.index + 1
33
+ return result
34
+
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
  import codecs
3
3
  import os
4
4
 
5
- VERSION = '0.1.127'
5
+ VERSION = '0.1.129'
6
6
  DESCRIPTION = 'GUI for MG-PSO'
7
7
  LONG_DESCRIPTION = open('../README.md').read()
8
8
 
@@ -1,9 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
-
3
- """
4
- LUCA/PSO toolkit
5
- =========================================
6
- This is ...
7
-
8
- """
9
-
File without changes