tcod-ecs 5.4.2__tar.gz → 5.5.0__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tcod-ecs
3
- Version: 5.4.2
3
+ Version: 5.5.0
4
4
  Summary: A type-hinted Entity Component System based on Python dictionaries and sets.
5
5
  Author-email: Kyle Benesch <4b796c65+github@gmail.com>
6
6
  Requires-Python: >=3.10
@@ -15,8 +15,7 @@ Classifier: Typing :: Typed
15
15
  License-File: LICENSE
16
16
  Requires-Dist: attrs >=23.1.0
17
17
  Requires-Dist: cattrs >=23.1.2
18
- Requires-Dist: sentinel-value >=1.0.0
19
- Requires-Dist: typing-extensions >=4.13.1
18
+ Requires-Dist: typing-extensions >=4.14.0
20
19
  Requires-Dist: attrs >=22.2.0 ; extra == "test"
21
20
  Requires-Dist: pytest >=7.2.0 ; extra == "test"
22
21
  Requires-Dist: pytest-cov >=4.0.0 ; extra == "test"
@@ -21,8 +21,7 @@ requires-python = ">=3.10"
21
21
  dependencies = [
22
22
  "attrs >=23.1.0",
23
23
  "cattrs >=23.1.2",
24
- "sentinel-value >=1.0.0",
25
- "typing-extensions >=4.13.1",
24
+ "typing-extensions >=4.14.0",
26
25
  ]
27
26
 
28
27
  [tool.setuptools_scm]
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '5.4.2'
32
- __version_tuple__ = version_tuple = (5, 4, 2)
31
+ __version__ = version = '5.5.0'
32
+ __version_tuple__ = version_tuple = (5, 5, 0)
33
33
 
34
- __commit_id__ = commit_id = 'g99e849adf'
34
+ __commit_id__ = commit_id = 'gf2ee28b92'
@@ -0,0 +1,19 @@
1
+ """Special constants and sentinel values."""
2
+
3
+ from __future__ import annotations
4
+
5
+
6
+ class _IgnoreSetState(type):
7
+ def __setstate__(cls, _state: object) -> None:
8
+ """Ignore setstate on outdated sentinel-value pickle data."""
9
+
10
+
11
+ class IsA(metaclass=_IgnoreSetState):
12
+ """The default is-a relationship tag used for entity inheritance."""
13
+
14
+ def __new__(cls: type[IsA], *_args: object) -> type[IsA]: # type: ignore[misc]
15
+ """Return own type instead of instance, for outdated sentinel-value pickle data."""
16
+ return cls
17
+
18
+
19
+ _sentinel_IsA = IsA # Compatibility with sentinel-value, deprecated since 5.4 # noqa: N816
@@ -14,8 +14,7 @@ from typing import (
14
14
  from weakref import WeakKeyDictionary, WeakValueDictionary
15
15
 
16
16
  import attrs
17
- from sentinel_value import sentinel
18
- from typing_extensions import Self, TypeForm, deprecated
17
+ from typing_extensions import Self, Sentinel, TypeForm, deprecated
19
18
 
20
19
  import tcod.ecs.callbacks
21
20
  import tcod.ecs.query
@@ -34,7 +33,7 @@ T = TypeVar("T")
34
33
  _T1 = TypeVar("_T1")
35
34
  _T2 = TypeVar("_T2")
36
35
 
37
- _raise: Final = sentinel("_raise")
36
+ _raise: Final = Sentinel("_raise")
38
37
 
39
38
  _entity_table: WeakKeyDictionary[Registry, WeakValueDictionary[object, Entity]] = WeakKeyDictionary()
40
39
  """A weak table of registries and unique identifiers to entity objects.
@@ -1,10 +0,0 @@
1
- """Special constants and sentinel values."""
2
-
3
- from __future__ import annotations
4
-
5
- from typing import Final
6
-
7
- from sentinel_value import sentinel
8
-
9
- IsA: Final = sentinel("IsA")
10
- """The default is-a relationship tag used for entity inheritance."""
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