most-queue 1.30__tar.gz → 1.33__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.

Potentially problematic release.


This version of most-queue might be problematic. Click here for more details.

Files changed (83) hide show
  1. {most_queue-1.30 → most_queue-1.33}/PKG-INFO +1 -15
  2. {most_queue-1.30 → most_queue-1.33}/most_queue/sim/rand_destribution.py +6 -59
  3. {most_queue-1.30 → most_queue-1.33}/most_queue/tests/fj_calc.py +3 -0
  4. {most_queue-1.30 → most_queue-1.33}/most_queue/tests/flow_sum.py +6 -3
  5. {most_queue-1.30 → most_queue-1.33}/most_queue/tests/weibull.py +3 -0
  6. {most_queue-1.30 → most_queue-1.33}/most_queue/visualisation/smo_im_vis.py +21 -13
  7. {most_queue-1.30 → most_queue-1.33}/most_queue.egg-info/PKG-INFO +2 -16
  8. {most_queue-1.30 → most_queue-1.33}/most_queue.egg-info/SOURCES.txt +0 -1
  9. {most_queue-1.30 → most_queue-1.33}/pyproject.toml +1 -1
  10. {most_queue-1.30 → most_queue-1.33}/setup.py +1 -4
  11. most_queue-1.30/most_queue.egg-info/requires.txt +0 -14
  12. {most_queue-1.30 → most_queue-1.33}/LICENSE +0 -0
  13. {most_queue-1.30 → most_queue-1.33}/README.md +0 -0
  14. {most_queue-1.30 → most_queue-1.33}/most_queue/__init__.py +0 -0
  15. {most_queue-1.30 → most_queue-1.33}/most_queue/sim/__init__.py +0 -0
  16. {most_queue-1.30 → most_queue-1.33}/most_queue/sim/batch_sim.py +0 -0
  17. {most_queue-1.30 → most_queue-1.33}/most_queue/sim/fj_delta_sim.py +0 -0
  18. {most_queue-1.30 → most_queue-1.33}/most_queue/sim/fj_sim.py +0 -0
  19. {most_queue-1.30 → most_queue-1.33}/most_queue/sim/flow_sum_sim.py +0 -0
  20. {most_queue-1.30 → most_queue-1.33}/most_queue/sim/impatient_queue_sim.py +0 -0
  21. {most_queue-1.30 → most_queue-1.33}/most_queue/sim/priority_network.py +0 -0
  22. {most_queue-1.30 → most_queue-1.33}/most_queue/sim/priority_queue_sim.py +0 -0
  23. {most_queue-1.30 → most_queue-1.33}/most_queue/sim/qs_sim.py +0 -0
  24. {most_queue-1.30 → most_queue-1.33}/most_queue/sim/queue_finite_source_sim.py +0 -0
  25. {most_queue-1.30 → most_queue-1.33}/most_queue/tests/__init__.py +0 -0
  26. {most_queue-1.30 → most_queue-1.33}/most_queue/tests/ek_d_n.py +0 -0
  27. {most_queue-1.30 → most_queue-1.33}/most_queue/tests/fj_im.py +0 -0
  28. {most_queue-1.30 → most_queue-1.33}/most_queue/tests/gi_m_1_calc.py +0 -0
  29. {most_queue-1.30 → most_queue-1.33}/most_queue/tests/gi_m_n_calc.py +0 -0
  30. {most_queue-1.30 → most_queue-1.33}/most_queue/tests/m_d_n_calc.py +0 -0
  31. {most_queue-1.30 → most_queue-1.33}/most_queue/tests/m_h2_h2warm.py +0 -0
  32. {most_queue-1.30 → most_queue-1.33}/most_queue/tests/m_ph_n_prty.py +0 -0
  33. {most_queue-1.30 → most_queue-1.33}/most_queue/tests/mg1_calc.py +0 -0
  34. {most_queue-1.30 → most_queue-1.33}/most_queue/tests/mg1_warm_calc.py +0 -0
  35. {most_queue-1.30 → most_queue-1.33}/most_queue/tests/mgn_tt.py +0 -0
  36. {most_queue-1.30 → most_queue-1.33}/most_queue/tests/mmn3_pnz_cox_approx.py +0 -0
  37. {most_queue-1.30 → most_queue-1.33}/most_queue/tests/mmn_prty_pnz_approx.py +0 -0
  38. {most_queue-1.30 → most_queue-1.33}/most_queue/tests/network_im_prty.py +0 -0
  39. {most_queue-1.30 → most_queue-1.33}/most_queue/tests/smo_im.py +0 -0
  40. {most_queue-1.30 → most_queue-1.33}/most_queue/tests/smo_im_prty.py +0 -0
  41. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/__init__.py +0 -0
  42. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/batch_mm1.py +0 -0
  43. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/convolution_sum_calc.py +0 -0
  44. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/diff5dots.py +0 -0
  45. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/ek_d_n_calc.py +0 -0
  46. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/engset_model.py +0 -0
  47. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/fj_calc.py +0 -0
  48. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/flow_sum.py +0 -0
  49. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/generate_pareto_noise.py +0 -0
  50. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/gi_m_1_calc.py +0 -0
  51. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/gi_m_n_calc.py +0 -0
  52. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/impatience_calc.py +0 -0
  53. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/m_d_n_calc.py +0 -0
  54. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/m_h2_h2warm.py +0 -0
  55. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/m_ph_n_prty.py +0 -0
  56. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/mg1_calc.py +0 -0
  57. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/mg1_warm_calc.py +0 -0
  58. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/mgn_tt.py +0 -0
  59. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/mgn_with_h2_delay_cold_warm.py +0 -0
  60. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/mmn3_pnz_cox_approx.py +0 -0
  61. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/mmn_prty_pnz_approx.py +0 -0
  62. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/mmn_with_h2_cold_and_h2_warmup.py +0 -0
  63. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/mmnr_calc.py +0 -0
  64. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/network_calc.py +0 -0
  65. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/network_viewer.py +0 -0
  66. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/passage_time.py +0 -0
  67. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/priority_calc.py +0 -0
  68. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/q_poisson_arrival_calc.py +0 -0
  69. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/student_stat.py +0 -0
  70. {most_queue-1.30 → most_queue-1.33}/most_queue/theory/weibull.py +0 -0
  71. {most_queue-1.30 → most_queue-1.33}/most_queue/utils/__init__.py +0 -0
  72. {most_queue-1.30 → most_queue-1.33}/most_queue/utils/approx_cdf_make.py +0 -0
  73. {most_queue-1.30 → most_queue-1.33}/most_queue/utils/binom_probs.py +0 -0
  74. {most_queue-1.30 → most_queue-1.33}/most_queue/utils/tables.py +0 -0
  75. {most_queue-1.30 → most_queue-1.33}/most_queue/visualisation/__init__.py +0 -0
  76. {most_queue-1.30 → most_queue-1.33}/most_queue/visualisation/utils/__init__.py +0 -0
  77. {most_queue-1.30 → most_queue-1.33}/most_queue/visualisation/utils/result_table.py +0 -0
  78. {most_queue-1.30 → most_queue-1.33}/most_queue/visualisation/utils/settings_window.py +0 -0
  79. {most_queue-1.30 → most_queue-1.33}/most_queue/visualisation/utils/splash_screen.py +0 -0
  80. {most_queue-1.30 → most_queue-1.33}/most_queue.egg-info/dependency_links.txt +0 -0
  81. {most_queue-1.30 → most_queue-1.33}/most_queue.egg-info/not-zip-safe +0 -0
  82. {most_queue-1.30 → most_queue-1.33}/most_queue.egg-info/top_level.txt +0 -0
  83. {most_queue-1.30 → most_queue-1.33}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: most_queue
3
- Version: 1.30
3
+ Version: 1.33
4
4
  Summary: Software package for calculation and simulation of queuing systems
5
5
  Home-page: https://github.com/xabarov/mps
6
6
  Author: Xabarov Roman
@@ -31,20 +31,6 @@ Classifier: Operating System :: OS Independent
31
31
  Requires-Python: >=3.7
32
32
  Description-Content-Type: text/markdown
33
33
  License-File: LICENSE
34
- Requires-Dist: matplotlib
35
- Requires-Dist: matplotlib-inline
36
- Requires-Dist: numba
37
- Requires-Dist: numpy
38
- Requires-Dist: pandas
39
- Requires-Dist: scipy
40
- Requires-Dist: tqdm
41
- Requires-Dist: tqdm-stubs
42
- Requires-Dist: PyQt5
43
- Requires-Dist: qt-material
44
- Requires-Dist: PySide2
45
- Requires-Dist: networkx
46
- Requires-Dist: graphviz
47
- Requires-Dist: colorama
48
34
 
49
35
  # most_queue
50
36
  Python package for calculation and simulation of queuing systems (QS) and networks
@@ -1,64 +1,8 @@
1
- from scipy import stats
2
- from numba.cuda.random import xoroshiro128p_uniform_float32
3
- from numba import cuda
4
-
5
- import numpy as np
6
1
  import cmath
7
- import scipy.special as sp
8
2
  import math
9
-
10
-
11
- @cuda.jit
12
- def generate_h2_jit(rng_states, y1, mu1, mu2, out):
13
- """
14
- Генерация псевдо-случайных чисел, подчиненных гиперэкспоненциальному распределению 2-го порядка
15
- с помощью CUDA
16
- """
17
- thread_id = cuda.grid(1)
18
-
19
- r = xoroshiro128p_uniform_float32(rng_states, thread_id)
20
- t = xoroshiro128p_uniform_float32(rng_states, thread_id)
21
- res = -math.log(t)
22
- if r < y1:
23
- if mu1 != 0:
24
- res = res / mu1
25
- else:
26
- res = 1e10
27
- else:
28
- if mu2 != 0:
29
- res = res / mu2
30
- else:
31
- res = 1e10
32
-
33
- out[thread_id] = res
34
-
35
-
36
- @cuda.jit
37
- def generate_m_jit(rng_states, mu, out):
38
- """
39
- Генерация псевдо-случайных чисел, подчиненных экспоненциальному распределению
40
- с помощью CUDA
41
- """
42
- thread_id = cuda.grid(1)
43
-
44
- t = xoroshiro128p_uniform_float32(rng_states, thread_id)
45
- res = -math.log(t) / mu
46
- out[thread_id] = res
47
-
48
-
49
- @cuda.jit
50
- def generate_e_jit(rng_states, r, mu, out):
51
- """
52
- Генерация псевдо-случайных чисел, подчиненных распределнию Эрланга
53
- с помощью CUDA
54
- """
55
- thread_id = cuda.grid(1)
56
- res = 0
57
- for i in range(r):
58
- t = xoroshiro128p_uniform_float32(rng_states, thread_id)
59
- res += -math.log(t) / mu
60
-
61
- out[thread_id] = res
3
+ import numpy as np
4
+ import scipy.special as sp
5
+ from scipy import stats
62
6
 
63
7
 
64
8
  class Normal_dist:
@@ -1023,6 +967,9 @@ class Gamma:
1023
967
  if __name__ == "__main__":
1024
968
 
1025
969
  import matplotlib.pyplot as plt
970
+ import matplotlib
971
+
972
+ matplotlib.use('TkAgg')
1026
973
 
1027
974
  r = 3
1028
975
  mu = 0.7
@@ -2,6 +2,9 @@ from most_queue.theory import fj_calc
2
2
  from most_queue.sim.fj_sim import ForkJoinSim
3
3
  import matplotlib.pyplot as plt
4
4
 
5
+ import matplotlib
6
+ matplotlib.use('TkAgg')
7
+
5
8
 
6
9
  def test():
7
10
  """
@@ -1,7 +1,10 @@
1
- from most_queue.theory.flow_sum import SummatorNumeric
2
- from most_queue.sim.flow_sum_sim import FlowSumSim
3
- from most_queue.sim import rand_destribution as rd
1
+ import matplotlib
4
2
  import matplotlib.pyplot as plt
3
+ from most_queue.sim import rand_destribution as rd
4
+ from most_queue.sim.flow_sum_sim import FlowSumSim
5
+ from most_queue.theory.flow_sum import SummatorNumeric
6
+
7
+ matplotlib.use('TkAgg')
5
8
 
6
9
 
7
10
  def test():
@@ -2,6 +2,9 @@ import numpy as np
2
2
  from most_queue.theory.weibull import Weibull
3
3
  import matplotlib.pyplot as plt
4
4
 
5
+ import matplotlib
6
+ matplotlib.use('TkAgg')
7
+
5
8
 
6
9
  def test():
7
10
  """
@@ -13,10 +13,11 @@ from PyQt5.QtWidgets import qApp
13
13
  from splash_screen import MovieSplashScreen
14
14
 
15
15
  qApp.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling, True)
16
- from most_queue.sim.smo_im import SmoIm
17
- from most_queue.sim.smo_im_prty import SmoImPrty
16
+ from most_queue.sim.qs_sim import QueueingSystemSimulator
17
+ from most_queue.sim.priority_queue_sim import PriorityQueueSimulator
18
18
  import time
19
19
  import math
20
+ import numpy as np
20
21
 
21
22
  COLORS = {"dark_amber.xml": (255, 215, 64, 255),
22
23
  "dark_blue.xml": (68, 138, 255, 255),
@@ -82,12 +83,12 @@ class SmoThread(QtCore.QThread):
82
83
 
83
84
  if not self.is_smo_created:
84
85
  if self.model_type == "FCFS один класс":
85
- self.smo = SmoIm(self.n, buffer=self.r, calc_next_event_time=True)
86
+ self.smo = QueueingSystemSimulator(self.n, buffer=self.r, calc_next_event_time=True)
86
87
 
87
88
  self.smo.set_sources(self.source_params["params"], self.source_params["type"])
88
89
  self.smo.set_servers(self.server_params["params"], self.server_params["type"])
89
90
  else:
90
- self.smo = SmoImPrty(self.n, self.k, self.model_type, buffer=self.r, calc_next_event_time=True)
91
+ self.smo = PriorityQueueSimulator(self.n, self.k, self.model_type, buffer=self.r, calc_next_event_time=True)
91
92
  sources = []
92
93
  servers_params = []
93
94
  for j in range(self.k):
@@ -194,8 +195,12 @@ class QueueWidget(QWidget):
194
195
 
195
196
  if i >= self.queue_count - self.number_of_jobs and i != self.queue_count:
196
197
  qp.setRenderHint(QPainter.Antialiasing)
197
- qp.setPen(QPen(QColor(*self.color), 1, Qt.SolidLine))
198
- qp.setBrush(QBrush(QColor(*self.color), Qt.SolidPattern))
198
+ # qp.setPen(QPen(QColor(*self.color), 1, Qt.SolidLine))
199
+ # qp.setBrush(QBrush(QColor(*self.color), Qt.SolidPattern))
200
+ #
201
+ clr_num = np.random.randint(0, len(COLOR_LIST))
202
+ qp.setPen(QPen(QColor(*COLOR_LIST[clr_num]), 1, Qt.SolidLine))
203
+ qp.setBrush(QBrush(QColor(*COLOR_LIST[clr_num]), Qt.SolidPattern))
199
204
  qp.drawEllipse(x, paddings, step,
200
205
  step)
201
206
 
@@ -211,8 +216,9 @@ class QueueWidget(QWidget):
211
216
  qp.drawLine(self.queue_count * step - x, bottom, (self.queue_count - 1) * step - x, bottom)
212
217
 
213
218
  qp.setRenderHint(QPainter.Antialiasing)
214
- qp.setPen(QPen(QColor(*COLOR_LIST[j+1]), 1, Qt.SolidLine))
215
- qp.setBrush(QBrush(QColor(*COLOR_LIST[j+1]), Qt.SolidPattern))
219
+
220
+ qp.setPen(QPen(QColor(*COLOR_LIST[j + 1]), 1, Qt.SolidLine))
221
+ qp.setBrush(QBrush(QColor(*COLOR_LIST[j + 1]), Qt.SolidPattern))
216
222
  qp.drawEllipse(self.queue_count * step - x, paddings, step,
217
223
  step)
218
224
  jobs_paint += 1
@@ -286,15 +292,17 @@ class ChannelsWidget(QWidget):
286
292
 
287
293
  if self.channels_in_service:
288
294
  if self.channels_in_service[i] != 0:
289
-
295
+ qp.setRenderHint(QPainter.Antialiasing)
290
296
  if self.k == 1:
291
- color_set = QColor(*self.color)
297
+ # color_set = QColor(*self.color)
298
+ clr_num = np.random.randint(0, len(COLOR_LIST))
299
+ qp.setPen(QPen(QColor(*COLOR_LIST[clr_num]), 1, Qt.SolidLine))
300
+ qp.setBrush(QBrush(QColor(*COLOR_LIST[clr_num]), Qt.SolidPattern))
292
301
  else:
293
302
  color_set = QColor(*COLOR_LIST[self.channels_in_service[i]])
303
+ qp.setPen(QPen(color_set, 1, Qt.SolidLine))
304
+ qp.setBrush(QBrush(color_set, Qt.SolidPattern))
294
305
 
295
- qp.setRenderHint(QPainter.Antialiasing)
296
- qp.setPen(QPen(color_set, 1, Qt.SolidLine))
297
- qp.setBrush(QBrush(color_set, Qt.SolidPattern))
298
306
  if channel_width > channel_height:
299
307
  delta = int((channel_width - channel_height) / 2)
300
308
  qp.drawEllipse(paddings_left + delta, x, min(channel_width, channel_height),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
- Name: most-queue
3
- Version: 1.30
2
+ Name: most_queue
3
+ Version: 1.33
4
4
  Summary: Software package for calculation and simulation of queuing systems
5
5
  Home-page: https://github.com/xabarov/mps
6
6
  Author: Xabarov Roman
@@ -31,20 +31,6 @@ Classifier: Operating System :: OS Independent
31
31
  Requires-Python: >=3.7
32
32
  Description-Content-Type: text/markdown
33
33
  License-File: LICENSE
34
- Requires-Dist: matplotlib
35
- Requires-Dist: matplotlib-inline
36
- Requires-Dist: numba
37
- Requires-Dist: numpy
38
- Requires-Dist: pandas
39
- Requires-Dist: scipy
40
- Requires-Dist: tqdm
41
- Requires-Dist: tqdm-stubs
42
- Requires-Dist: PyQt5
43
- Requires-Dist: qt-material
44
- Requires-Dist: PySide2
45
- Requires-Dist: networkx
46
- Requires-Dist: graphviz
47
- Requires-Dist: colorama
48
34
 
49
35
  # most_queue
50
36
  Python package for calculation and simulation of queuing systems (QS) and networks
@@ -7,7 +7,6 @@ most_queue.egg-info/PKG-INFO
7
7
  most_queue.egg-info/SOURCES.txt
8
8
  most_queue.egg-info/dependency_links.txt
9
9
  most_queue.egg-info/not-zip-safe
10
- most_queue.egg-info/requires.txt
11
10
  most_queue.egg-info/top_level.txt
12
11
  most_queue/sim/__init__.py
13
12
  most_queue/sim/batch_sim.py
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "most_queue"
3
- version = "1.30"
3
+ version = "1.33"
4
4
  authors = [
5
5
  { name="Xabarov Roman", email="xabarov1985@gmail.com" },
6
6
  ]
@@ -1,7 +1,7 @@
1
1
  from setuptools import setup, find_packages
2
2
 
3
3
  setup(name='most-queue',
4
- version='1.30',
4
+ version='1.33',
5
5
  description="Software package for calculation and simulation of queuing systems",
6
6
  author='Xabarov Roman',
7
7
  author_email='xabarov1985@gmail.com',
@@ -23,9 +23,6 @@ setup(name='most-queue',
23
23
  "scipy",
24
24
  "tqdm",
25
25
  "tqdm-stubs",
26
- 'PyQt5',
27
- 'qt-material',
28
- 'PySide2',
29
26
  'networkx',
30
27
  'graphviz',
31
28
  'colorama'
@@ -1,14 +0,0 @@
1
- matplotlib
2
- matplotlib-inline
3
- numba
4
- numpy
5
- pandas
6
- scipy
7
- tqdm
8
- tqdm-stubs
9
- PyQt5
10
- qt-material
11
- PySide2
12
- networkx
13
- graphviz
14
- colorama
File without changes
File without changes
File without changes