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.
Files changed (26) hide show
  1. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/PKG-INFO +2 -2
  2. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/README.md +1 -1
  3. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/pyproject.toml +1 -1
  4. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/salabim/salabim.py +54 -11
  5. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/salabim.egg-info/PKG-INFO +2 -2
  6. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/salabim/DejaVuSansMono.ttf +0 -0
  7. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/salabim/LICENSE.txt +0 -0
  8. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/salabim/__init__.py +0 -0
  9. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/salabim/calibri.ttf +0 -0
  10. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/salabim/mplus-1m-regular.ttf +0 -0
  11. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/salabim.egg-info/SOURCES.txt +0 -0
  12. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/salabim.egg-info/dependency_links.txt +0 -0
  13. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/salabim.egg-info/top_level.txt +0 -0
  14. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/setup.cfg +0 -0
  15. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test salabim.py +0 -0
  16. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test_cap_now.py +0 -0
  17. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test_componentgenerator.py +0 -0
  18. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test_datetime.py +0 -0
  19. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test_distributions.py +0 -0
  20. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test_misc.py +0 -0
  21. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test_monitor.py +0 -0
  22. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test_process.py +0 -0
  23. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test_queue.py +0 -0
  24. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test_state.py +0 -0
  25. {salabim-24.0.14.post3 → salabim-24.0.14.post4}/tests/test_store.py +0 -0
  26. {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.post3
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-3"
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
- if "pywavefront" not in sys.modules:
25411
- global pywavefront
25412
- global visualization
25413
- try:
25414
- import pywavefront
25415
- from pywavefront import visualization
25416
- except ImportError:
25417
- pywavefront = None
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 even animate, let alone animate3d")
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.post3
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