kraken-engine 0.4.0__cp311-cp311-win_amd64.whl → 1.0.0__cp311-cp311-win_amd64.whl

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 kraken-engine might be problematic. Click here for more details.

@@ -1,17 +1,16 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kraken-engine
3
- Version: 0.4.0
3
+ Version: 1.0.0
4
4
  Summary: Python bindings for Kraken Engine
5
5
  Author: Derrick Martinez
6
6
  License-Expression: MIT
7
7
  License-File: LICENSE
8
8
  Classifier: Programming Language :: Python
9
9
  Classifier: Programming Language :: Python :: 3
10
- Classifier: Programming Language :: Python :: 3.9
11
- Classifier: Programming Language :: Python :: 3.10
12
10
  Classifier: Programming Language :: Python :: 3.11
13
11
  Classifier: Programming Language :: Python :: 3.12
14
12
  Classifier: Programming Language :: Python :: 3.13
13
+ Classifier: Programming Language :: Python :: 3.14
15
14
  Classifier: Topic :: Games/Entertainment
16
15
  Classifier: Topic :: Multimedia :: Graphics
17
16
  Classifier: Operating System :: Microsoft :: Windows
@@ -21,7 +20,7 @@ Project-URL: Issues, https://github.com/Kraken-Engine/PyKraken/issues
21
20
  Project-URL: Documentation, https://docs.krakenengine.org/docs/getting-started/introduction
22
21
  Project-URL: Release Notes, https://github.com/Kraken-Engine/PyKraken/releases
23
22
  Project-URL: Source, https://github.com/Kraken-Engine/PyKraken
24
- Requires-Python: >=3.10
23
+ Requires-Python: >=3.11
25
24
  Description-Content-Type: text/markdown
26
25
 
27
26
  <div align="center"><img src="https://github.com/durkisneer1/Kraken-Engine/blob/main/docs/_static/kraken-engine-banner.png"/></div>
@@ -1,6 +1,7 @@
1
1
  pykraken/__init__.py,sha256=t7q4pmStwUIRhUCXmKCgFu2cjNZedVGY79M1fsw40d0,22
2
2
  pykraken/__init__.pyi,sha256=umZgAUy0Uvo-Ik6UHK81qyQJ_YvOaLZ8sf_mAI2ZbJg,28337
3
- pykraken/_core/__init__.pyi,sha256=hxYhFZb6_KMz7_H1Z8BmUAb11p4uqr2_MPZLnpQIgUE,141870
3
+ pykraken/__pyinstaller/hook-pykraken.py,sha256=_EHNPHaAuk6trRh21DunWtQg4UG6CpNQii7RsGDAfC0,364
4
+ pykraken/_core/__init__.pyi,sha256=S5dnJT-sbUVzYQ6nUoXO7v10_z6glQtTI_q_r-vRVhc,141574
4
5
  pykraken/_core/color.pyi,sha256=rpYUlAbEeAxZ5IgBdYxHD5Xe-88E-zUZiD8oByRXCQ8,4687
5
6
  pykraken/_core/draw.pyi,sha256=ZYlqh3sPnWXALN4_s_FfnbEnpIrdNTgRUY8HfddnpVo,3833
6
7
  pykraken/_core/ease.pyi,sha256=5qEyIWld65PpsdR_4kTv8IAhws79iZdUhymnKsg8Ahs,6725
@@ -15,9 +16,9 @@ pykraken/_core/rect.pyi,sha256=CNR_e8T9rURbSOMkn-s3s2CPsVMgeaQIPmfFWjJT0A4,2865
15
16
  pykraken/_core/renderer.pyi,sha256=Kb9GSLvo2xsLrPQ0_G2mdl8FIPID97l-b4wRTIqcKcA,2315
16
17
  pykraken/_core/time.pyi,sha256=WTQMqBUAxPSzfHr3BmSkcN3683w2saBjTCQVoFm4e_g,2623
17
18
  pykraken/_core/transform.pyi,sha256=uhTUrku66Djxqm69EgMmonDXsk166DNZY5cMgQ1BjY8,5586
18
- pykraken/_core/window.pyi,sha256=PHpPFbWTbapsjT2mPp2tozG1HRG5lNaVWqCooo3Udl4,3261
19
- pykraken/_core.cp311-win_amd64.pyd,sha256=Ux77bmB0L4la-OW5Cg6G2GL0xr0G3cVwq8i9piwVlGI,5816832
20
- kraken_engine-0.4.0.dist-info/METADATA,sha256=lIrxJYCLL2wON-fSfWwAbn2YCSC-Q2wK1v6yrQlOSto,2116
21
- kraken_engine-0.4.0.dist-info/WHEEL,sha256=oXhHG6ewLm-FNdEna2zwgy-K0KEl4claZ1ztR4VTx0I,106
22
- kraken_engine-0.4.0.dist-info/licenses/LICENSE,sha256=4NUSEGSVvPUQ_2qD0hmmw_cOamv68n-TFiIpcIEK2eM,1094
23
- kraken_engine-0.4.0.dist-info/RECORD,,
19
+ pykraken/_core/window.pyi,sha256=T5QOKN4hzp9cnpmxBW9ISFK_Pnv4Uk0-ZFZyocgMNyM,3468
20
+ pykraken/_core.cp311-win_amd64.pyd,sha256=aMaf1Kew0hLcp2hKRbTqq4oUFqxFFFj8EEUhI6GCWrw,5835776
21
+ kraken_engine-1.0.0.dist-info/METADATA,sha256=TtTfVjwIaqsaWegjXkH2ia63xZwO24LwHhIZAnFoD50,2066
22
+ kraken_engine-1.0.0.dist-info/WHEEL,sha256=oXhHG6ewLm-FNdEna2zwgy-K0KEl4claZ1ztR4VTx0I,106
23
+ kraken_engine-1.0.0.dist-info/licenses/LICENSE,sha256=4NUSEGSVvPUQ_2qD0hmmw_cOamv68n-TFiIpcIEK2eM,1094
24
+ kraken_engine-1.0.0.dist-info/RECORD,,
@@ -0,0 +1,8 @@
1
+ # pykraken/__pyinstaller/hook-pykraken.py
2
+ from PyInstaller.utils.hooks import (
3
+ collect_dynamic_libs, collect_data_files, collect_submodules
4
+ )
5
+
6
+ hidden_imports = collect_submodules("pykraken") # dynamic imports/plugins
7
+ binaries = collect_dynamic_libs("pykraken") # SDL3/ttf/image libs
8
+ datas = collect_data_files("pykraken") # default fonts/shaders/etc.
@@ -492,6 +492,17 @@ class Color:
492
492
  Each channel (r, g, b, a) is an 8-bit unsigned integer.
493
493
 
494
494
  """
495
+ __hash__: typing.ClassVar[None] = None
496
+ def __eq__(self, other: Color) -> bool:
497
+ """
498
+ Check if two Color objects are equal (all RGBA components match).
499
+
500
+ Args:
501
+ other (Color): The color to compare with.
502
+
503
+ Returns:
504
+ bool: True if colors are identical, False otherwise.
505
+ """
495
506
  def __getitem__(self, index: typing.SupportsInt) -> int:
496
507
  """
497
508
  Access color channels by index.
@@ -549,6 +560,16 @@ class Color:
549
560
  Returns:
550
561
  int: Always returns 4 (for r, g, b, a channels).
551
562
  """
563
+ def __ne__(self, other: Color) -> bool:
564
+ """
565
+ Check if two Color objects are not equal.
566
+
567
+ Args:
568
+ other (Color): The color to compare with.
569
+
570
+ Returns:
571
+ bool: True if any component differs, False otherwise.
572
+ """
552
573
  def __repr__(self) -> str:
553
574
  """
554
575
  Return a string suitable for debugging and recreation.
@@ -1530,6 +1551,10 @@ class Mask:
1530
1551
  Raises:
1531
1552
  RuntimeError: If pixel array creation fails.
1532
1553
  """
1554
+ def get_rect(self) -> Rect:
1555
+ """
1556
+ Get the bounding rectangle of the mask starting at (0, 0).
1557
+ """
1533
1558
  def invert(self) -> None:
1534
1559
  """
1535
1560
  Invert all pixels in the mask.
@@ -1567,11 +1592,6 @@ class Mask:
1567
1592
  The height of the mask in pixels.
1568
1593
  """
1569
1594
  @property
1570
- def rect(self) -> Rect:
1571
- """
1572
- The bounding rectangle of the mask starting at (0, 0).
1573
- """
1574
- @property
1575
1595
  def size(self) -> Vec2:
1576
1596
  """
1577
1597
  The size of the mask as a Vec2.
@@ -1698,6 +1718,13 @@ class PixelArray:
1698
1718
  Raises:
1699
1719
  IndexError: If coordinates are outside the pixel array bounds.
1700
1720
  """
1721
+ def get_rect(self) -> Rect:
1722
+ """
1723
+ Get a rectangle representing the pixel array bounds.
1724
+
1725
+ Returns:
1726
+ Rect: A rectangle with position (0, 0) and the pixel array's dimensions.
1727
+ """
1701
1728
  def set_at(self, coord: Vec2, color: Color) -> None:
1702
1729
  """
1703
1730
  Set the color of a pixel at the specified coordinates.
@@ -1752,14 +1779,6 @@ class PixelArray:
1752
1779
  int: The pixel array height.
1753
1780
  """
1754
1781
  @property
1755
- def rect(self) -> Rect:
1756
- """
1757
- A rectangle representing the pixel array bounds.
1758
-
1759
- Returns:
1760
- Rect: A rectangle with position (0, 0) and the pixel array's dimensions.
1761
- """
1762
- @property
1763
1782
  def size(self) -> Vec2:
1764
1783
  """
1765
1784
  The size of the pixel array as a Vec2.
@@ -1946,17 +1965,6 @@ class Polygon:
1946
1965
  Args:
1947
1966
  points (list[Vec2]): List of Vec2 points defining the polygon vertices.
1948
1967
  """
1949
- @typing.overload
1950
- def __init__(self, points: collections.abc.Sequence) -> None:
1951
- """
1952
- Create a polygon from a sequence of points.
1953
-
1954
- Args:
1955
- points: A sequence of Vec2 objects or 2-element sequences [[x, y], ...].
1956
-
1957
- Raises:
1958
- ValueError: If points are not properly formatted.
1959
- """
1960
1968
  def __iter__(self) -> collections.abc.Iterator:
1961
1969
  """
1962
1970
  Return an iterator over the polygon's points.
@@ -2562,13 +2570,6 @@ class Texture:
2562
2570
  Raises:
2563
2571
  RuntimeError: If texture creation from pixel array fails.
2564
2572
  """
2565
- def get_alpha(self) -> float:
2566
- """
2567
- Get the current alpha modulation value.
2568
-
2569
- Returns:
2570
- float: The current alpha value.
2571
- """
2572
2573
  def get_rect(self) -> Rect:
2573
2574
  """
2574
2575
  Get a rectangle representing the texture bounds.
@@ -2576,20 +2577,6 @@ class Texture:
2576
2577
  Returns:
2577
2578
  Rect: A rectangle with position (0, 0) and the texture's dimensions.
2578
2579
  """
2579
- def get_size(self) -> Vec2:
2580
- """
2581
- Get the size of the texture.
2582
-
2583
- Returns:
2584
- Vec2: The texture size as (width, height).
2585
- """
2586
- def get_tint(self) -> Color:
2587
- """
2588
- Get the current color tint applied to the texture.
2589
-
2590
- Returns:
2591
- Color: The current tint color.
2592
- """
2593
2580
  def make_additive(self) -> None:
2594
2581
  """
2595
2582
  Set the texture to use additive blending mode.
@@ -2610,30 +2597,20 @@ class Texture:
2610
2597
 
2611
2598
  This is the default blending mode for standard transparency effects.
2612
2599
  """
2613
- def set_alpha(self, alpha: typing.SupportsFloat) -> None:
2614
- """
2615
- Set the alpha (transparency) modulation for the texture.
2616
-
2617
- Args:
2618
- alpha (float): The alpha value, typically in range [0.0, 1.0] where
2619
- 0.0 is fully transparent and 1.0 is fully opaque.
2620
- """
2621
- def set_tint(self, color: Color) -> None:
2600
+ @property
2601
+ def alpha(self) -> float:
2622
2602
  """
2623
- Set the color tint applied to the texture during rendering.
2624
-
2625
- The tint color is multiplied with the texture's pixels, allowing for
2626
- color effects and lighting.
2627
-
2628
- Args:
2629
- color (Color): The tint color to apply.
2603
+ Get or set the alpha modulation of the texture as a float between `0.0` and `1.0`.
2630
2604
  """
2605
+ @alpha.setter
2606
+ def alpha(self, arg1: typing.SupportsFloat) -> None:
2607
+ ...
2631
2608
  @property
2632
2609
  def angle(self) -> float:
2633
2610
  """
2634
- The rotation angle in degrees for rendering.
2611
+ The rotation angle in radians for rendering.
2635
2612
 
2636
- When the texture is drawn, it will be rotated by this angle around its center.
2613
+ When the texture is drawn, it will be rotated by this angle about its center.
2637
2614
  """
2638
2615
  @angle.setter
2639
2616
  def angle(self, arg0: typing.SupportsFloat) -> None:
@@ -2648,6 +2625,22 @@ class Texture:
2648
2625
  @flip.setter
2649
2626
  def flip(self, arg0: Texture.Flip) -> None:
2650
2627
  ...
2628
+ @property
2629
+ def size(self) -> Vec2:
2630
+ """
2631
+ Get the size of the texture.
2632
+
2633
+ Returns:
2634
+ Vec2: The texture size as (width, height).
2635
+ """
2636
+ @property
2637
+ def tint(self) -> Color:
2638
+ """
2639
+ Get or set the color tint applied to the texture during rendering.
2640
+ """
2641
+ @tint.setter
2642
+ def tint(self, arg1: Color) -> None:
2643
+ ...
2651
2644
  class Tile:
2652
2645
  """
2653
2646
 
pykraken/_core/window.pyi CHANGED
@@ -3,7 +3,7 @@ Window related functions
3
3
  """
4
4
  from __future__ import annotations
5
5
  import pykraken._core
6
- __all__: list[str] = ['close', 'create', 'get_scale', 'get_size', 'get_title', 'is_fullscreen', 'is_open', 'set_fullscreen', 'set_icon', 'set_title']
6
+ __all__: list[str] = ['close', 'create', 'get_scale', 'get_size', 'get_title', 'is_fullscreen', 'is_open', 'save_screenshot', 'set_fullscreen', 'set_icon', 'set_title']
7
7
  def close() -> None:
8
8
  """
9
9
  Close the window.
@@ -73,6 +73,13 @@ def is_open() -> bool:
73
73
  Returns:
74
74
  bool: True if the window is open and active.
75
75
  """
76
+ def save_screenshot(path: str) -> None:
77
+ """
78
+ Save a screenshot of the current frame to a file.
79
+
80
+ Args:
81
+ path (str): The path to save the screenshot to.
82
+ """
76
83
  def set_fullscreen(fullscreen: bool) -> None:
77
84
  """
78
85
  Set the fullscreen mode of the window.
Binary file