salabim 24.0.14.post3__tar.gz → 24.0.14.post4__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/PKG-INFO +2 -2
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/README.md +1 -1
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/pyproject.toml +1 -1
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/salabim/salabim.py +54 -11
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/salabim.egg-info/PKG-INFO +2 -2
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/salabim/DejaVuSansMono.ttf +0 -0
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/salabim/LICENSE.txt +0 -0
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/salabim/__init__.py +0 -0
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/salabim/calibri.ttf +0 -0
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/salabim/mplus-1m-regular.ttf +0 -0
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/salabim.egg-info/SOURCES.txt +0 -0
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/salabim.egg-info/dependency_links.txt +0 -0
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/salabim.egg-info/top_level.txt +0 -0
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/setup.cfg +0 -0
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test salabim.py +0 -0
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test_cap_now.py +0 -0
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test_componentgenerator.py +0 -0
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test_datetime.py +0 -0
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test_distributions.py +0 -0
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test_misc.py +0 -0
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test_monitor.py +0 -0
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test_process.py +0 -0
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test_queue.py +0 -0
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test_state.py +0 -0
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test_store.py +0 -0
- {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test_timeunit.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: salabim
|
3
|
-
Version: 24.0.14.
|
3
|
+
Version: 24.0.14.post4
|
4
4
|
Summary: salabim - discrete event simulation in Python
|
5
5
|
Author-email: Ruud van der Ham <rt.van.der.ham@gmail.com>
|
6
6
|
Project-URL: Homepage, https://salabim.org
|
@@ -46,7 +46,7 @@ In contrast to some other Python DES packages, salabim does not require the use
|
|
46
46
|
### Features and documentation
|
47
47
|
|
48
48
|
- Cross-platform support: salabim runs on Windows, macOS, Linux, iOS/iPadOS (Pythonista), and can even be used with "Python In Excel".
|
49
|
-
- Comprehensive documentation: Visit [www.salabim.org/manual](www.salabim.org/manual) for detailed documentation.
|
49
|
+
- Comprehensive documentation: Visit [www.salabim.org/manual](https://www.salabim.org/manual) for detailed documentation.
|
50
50
|
|
51
51
|
### Resources
|
52
52
|
|
@@ -33,7 +33,7 @@ In contrast to some other Python DES packages, salabim does not require the use
|
|
33
33
|
### Features and documentation
|
34
34
|
|
35
35
|
- Cross-platform support: salabim runs on Windows, macOS, Linux, iOS/iPadOS (Pythonista), and can even be used with "Python In Excel".
|
36
|
-
- Comprehensive documentation: Visit [www.salabim.org/manual](www.salabim.org/manual) for detailed documentation.
|
36
|
+
- Comprehensive documentation: Visit [www.salabim.org/manual](https://www.salabim.org/manual) for detailed documentation.
|
37
37
|
|
38
38
|
### Resources
|
39
39
|
|
@@ -8,7 +8,7 @@ authors = [
|
|
8
8
|
{name = "Ruud van der Ham", email = "rt.van.der.ham@gmail.com"}
|
9
9
|
]
|
10
10
|
description = "salabim - discrete event simulation in Python"
|
11
|
-
version = "24.0.14-
|
11
|
+
version = "24.0.14-4"
|
12
12
|
readme = "README.md"
|
13
13
|
requires-python = ">=3.7"
|
14
14
|
dependencies = [
|
@@ -11803,8 +11803,7 @@ class Environment:
|
|
11803
11803
|
for ao in an_objects:
|
11804
11804
|
ao.make_pil_image(self.t())
|
11805
11805
|
if ao._image_visible and (include_topleft or not ao.getattr("in_topleft", False)):
|
11806
|
-
image.paste(ao._image, (int(ao._image_x), int(self._height - ao._image_y - ao._image.size[1])),ao._image.convert("RGBA")
|
11807
|
-
|
11806
|
+
image.paste(ao._image, (int(ao._image_x), int(self._height - ao._image_y - ao._image.size[1])), ao._image.convert("RGBA"))
|
11808
11807
|
|
11809
11808
|
return image.convert(mode)
|
11810
11809
|
|
@@ -12779,6 +12778,31 @@ class Environment:
|
|
12779
12778
|
self.animation_parameters(synced=value, animate=None)
|
12780
12779
|
return self._synced
|
12781
12780
|
|
12781
|
+
def minimized(self, value: bool=None)-> bool:
|
12782
|
+
"""
|
12783
|
+
minimized
|
12784
|
+
|
12785
|
+
Parameters
|
12786
|
+
----------
|
12787
|
+
value : bool
|
12788
|
+
if True, minimize the curent animation window
|
12789
|
+
|
12790
|
+
if False, (re)show the current animation window
|
12791
|
+
|
12792
|
+
if None (default): no action
|
12793
|
+
|
12794
|
+
Returns
|
12795
|
+
-------
|
12796
|
+
current state of the animation window : bool
|
12797
|
+
True if current animation windows is minimized, False otherwise
|
12798
|
+
"""
|
12799
|
+
if value is not None:
|
12800
|
+
if value:
|
12801
|
+
self.root.withdraw()
|
12802
|
+
else:
|
12803
|
+
self.root.deiconify()
|
12804
|
+
return not bool(self.root.winfo_viewable())
|
12805
|
+
|
12782
12806
|
def speed(self, value: float = None) -> float:
|
12783
12807
|
"""
|
12784
12808
|
speed
|
@@ -25386,6 +25410,11 @@ class Animate3dObj(Animate3dBase):
|
|
25386
25410
|
):
|
25387
25411
|
super().__init__(visible=visible, arg=arg, layer=layer, parent=parent, env=env, **kwargs)
|
25388
25412
|
|
25413
|
+
global pywavefront
|
25414
|
+
global visualization
|
25415
|
+
global pyglet
|
25416
|
+
|
25417
|
+
|
25389
25418
|
self.x = x
|
25390
25419
|
self.y = y
|
25391
25420
|
self.z = z
|
@@ -25407,18 +25436,26 @@ class Animate3dObj(Animate3dBase):
|
|
25407
25436
|
self.y_offset = 0
|
25408
25437
|
self.z_offset = 0
|
25409
25438
|
|
25410
|
-
|
25411
|
-
|
25412
|
-
|
25413
|
-
|
25414
|
-
|
25415
|
-
|
25416
|
-
|
25417
|
-
|
25439
|
+
try:
|
25440
|
+
import pywavefront
|
25441
|
+
except ImportError:
|
25442
|
+
pywavefront=None
|
25443
|
+
|
25444
|
+
try:
|
25445
|
+
import pyglet # this is a requirement for visualization!
|
25446
|
+
except ImportError:
|
25447
|
+
pyglet=None
|
25448
|
+
|
25449
|
+
from pywavefront import visualization
|
25418
25450
|
|
25419
25451
|
def draw(self, t):
|
25452
|
+
global pywavefront
|
25453
|
+
global visualization
|
25454
|
+
global pyglet
|
25420
25455
|
if pywavefront is None:
|
25421
25456
|
raise ImportError("Animate3dObj requires pywavefront. Not found")
|
25457
|
+
if pyglet is None:
|
25458
|
+
raise ImportError("Animate3dObj requires pyglet. Not found")
|
25422
25459
|
|
25423
25460
|
obj_filename = Path(self.filename(t))
|
25424
25461
|
if not obj_filename.suffix:
|
@@ -27163,17 +27200,23 @@ def can_animate3d(try_only: bool = True) -> bool:
|
|
27163
27200
|
import OpenGL.GL as gl
|
27164
27201
|
import OpenGL.GLU as glu
|
27165
27202
|
import OpenGL.GLUT as glut
|
27203
|
+
import OpenGL
|
27166
27204
|
except ImportError:
|
27167
27205
|
if try_only:
|
27168
27206
|
return False
|
27169
27207
|
else:
|
27170
27208
|
raise ImportError("OpenGL is required for animation3d. Install with pip install PyOpenGL or see salabim manual")
|
27209
|
+
try:
|
27210
|
+
glut.glutInit()
|
27211
|
+
except OpenGL.error.NullFunctionError:
|
27212
|
+
raise ImportError("Installed OpenGL does not support glut. Try 'pip install OpenGL-glut' or see the salabim documentation")
|
27213
|
+
|
27171
27214
|
return True
|
27172
27215
|
else:
|
27173
27216
|
if try_only:
|
27174
27217
|
return False
|
27175
27218
|
else:
|
27176
|
-
raise ImportError("cannot
|
27219
|
+
raise ImportError("cannot animate, let alone animate3d")
|
27177
27220
|
|
27178
27221
|
|
27179
27222
|
def can_video(try_only: bool = True) -> bool:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: salabim
|
3
|
-
Version: 24.0.14.
|
3
|
+
Version: 24.0.14.post4
|
4
4
|
Summary: salabim - discrete event simulation in Python
|
5
5
|
Author-email: Ruud van der Ham <rt.van.der.ham@gmail.com>
|
6
6
|
Project-URL: Homepage, https://salabim.org
|
@@ -46,7 +46,7 @@ In contrast to some other Python DES packages, salabim does not require the use
|
|
46
46
|
### Features and documentation
|
47
47
|
|
48
48
|
- Cross-platform support: salabim runs on Windows, macOS, Linux, iOS/iPadOS (Pythonista), and can even be used with "Python In Excel".
|
49
|
-
- Comprehensive documentation: Visit [www.salabim.org/manual](www.salabim.org/manual) for detailed documentation.
|
49
|
+
- Comprehensive documentation: Visit [www.salabim.org/manual](https://www.salabim.org/manual) for detailed documentation.
|
50
50
|
|
51
51
|
### Resources
|
52
52
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|