datahold 4.0.0.dev24__tar.gz → 4.0.0.dev25__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.
Files changed (36) hide show
  1. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/PKG-INFO +1 -1
  2. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/pyproject.toml +1 -1
  3. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/src/datahold/__init__.py +94 -87
  4. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/src/datahold.egg-info/PKG-INFO +1 -1
  5. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/LICENSE.txt +0 -0
  6. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/MANIFEST.in +0 -0
  7. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/README.rst +0 -0
  8. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/docs/v1.1.rst +0 -0
  9. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/docs/v1.2.rst +0 -0
  10. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/docs/v2.0.rst +0 -0
  11. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/docs/v2.1.rst +0 -0
  12. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/docs/v2.2.rst +0 -0
  13. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/docs/v2.3.rst +0 -0
  14. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/docs/v3.0.rst +0 -0
  15. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/docs/v4.0.rst +0 -0
  16. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/run_tests.py +0 -0
  17. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/setup.cfg +0 -0
  18. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/src/datahold/py.typed +0 -0
  19. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/src/datahold.egg-info/SOURCES.txt +0 -0
  20. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/src/datahold.egg-info/dependency_links.txt +0 -0
  21. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/src/datahold.egg-info/requires.txt +0 -0
  22. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/src/datahold.egg-info/top_level.txt +0 -0
  23. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/tests/test_FrozenListSlot.py +0 -0
  24. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/tests/test_MutableListSlot.py +0 -0
  25. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/tests/test_abstractmethods.py +0 -0
  26. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/tests/test_all.py +0 -0
  27. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/tests/test_attributes.py +0 -0
  28. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/tests/test_docs.py +0 -0
  29. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/tests/test_generic.py +0 -0
  30. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/tests/test_internal_comparison.py +0 -0
  31. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/tests/test_issubclass.py +0 -0
  32. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/tests/test_name.py +0 -0
  33. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/tests/test_nested.py +0 -0
  34. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/tests/test_sorted.py +0 -0
  35. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/tests/test_variance.py +0 -0
  36. {datahold-4.0.0.dev24 → datahold-4.0.0.dev25}/tests/testdata.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: datahold
3
- Version: 4.0.0.dev24
3
+ Version: 4.0.0.dev25
4
4
  Summary: This project wraps common mutable datastructures for inheritance with modification.
5
5
  Author-email: Johannes <johannes.programming@gmail.com>
6
6
  License-Expression: MIT
@@ -31,7 +31,7 @@ license-files = [
31
31
  name = "datahold"
32
32
  readme = "README.rst"
33
33
  requires-python = ">=3.11"
34
- version = "4.0.0.dev24"
34
+ version = "4.0.0.dev25"
35
35
 
36
36
  [project.urls]
37
37
  Download = "https://pypi.org/project/datahold/#files"
@@ -47,7 +47,7 @@ from typing import (
47
47
  import setdoc
48
48
  from frozendict import frozendict
49
49
 
50
- ### UTILS ###
50
+ ### PROTOCOLS ###
51
51
 
52
52
 
53
53
  class ContextManager[Enter](Protocol):
@@ -75,6 +75,99 @@ class SupportsKeysAndGetitem[Key, Value](Protocol):
75
75
  def keys(self: Self, /) -> abc.Iterable[Key]: ...
76
76
 
77
77
 
78
+ class Collection_Frozen[Item](
79
+ abc.Sized,
80
+ abc.Iterable[Item],
81
+ Protocol,
82
+ ):
83
+ @setdoc.basic
84
+ def __contains__(self: Self, other: Never, /) -> bool: ...
85
+
86
+
87
+ class MutableSet_Mutable[Item: abc.Hashable](Protocol):
88
+ @setdoc.basic
89
+ def add(self: Self, item: Item, /) -> object: ...
90
+ @setdoc.basic
91
+ def discard(self: Self, item: abc.Hashable, /) -> object: ...
92
+
93
+
94
+ class Mapping_Frozen[Key, Value](Collection_Frozen[Key], Protocol):
95
+ @setdoc.basic
96
+ def __getitem__(self: Self, key: abc.Hashable, /) -> Value: ...
97
+ class MutableMapping_Mutable[Key_, Value_](
98
+ Protocol,
99
+ ):
100
+ @setdoc.basic
101
+ def __delitem__(self: Self, key: Key_ | str, /) -> object: ...
102
+ @setdoc.basic
103
+ def __setitem__(
104
+ self: Self, key: Key_ | str, value: Optional[Value_], /
105
+ ) -> object: ...
106
+ class Sequence_Frozen[Item](
107
+ Collection_Frozen[Item],
108
+ Protocol,
109
+ ):
110
+ @overload
111
+ @setdoc.basic
112
+ def __getitem__(self: Self, key: int, /) -> Item: ...
113
+ @overload
114
+ @setdoc.basic
115
+ def __getitem__(self: Self, key: Slice[int], /) -> abc.Sequence[Item]: ...
116
+ @setdoc.basic
117
+ def __getitem__(
118
+ self: Self,
119
+ key: int | Slice[int],
120
+ /,
121
+ ) -> Item | abc.Sequence[Item]: ...
122
+
123
+
124
+ class MutableSequence_Mutable[Item](Protocol):
125
+ @overload
126
+ @setdoc.basic
127
+ def __delitem__(self: Self, key: SupportsIndex, /) -> None: ...
128
+ @overload
129
+ @setdoc.basic
130
+ def __delitem__(self: Self, key: Slice[SupportsIndex], /) -> None: ...
131
+ @setdoc.basic
132
+ def __delitem__(
133
+ self: Self, key: SupportsIndex | Slice[SupportsIndex], /
134
+ ) -> None: ...
135
+ @overload
136
+ @setdoc.basic
137
+ def __getitem__(self: Self, key: int, /) -> Item: ...
138
+ @overload
139
+ @setdoc.basic
140
+ def __getitem__(
141
+ self: Self, key: Slice[int], /
142
+ ) -> abc.MutableSequence[Item]: ...
143
+ @setdoc.basic
144
+ def __getitem__(
145
+ self: Self,
146
+ key: int | Slice[int],
147
+ /,
148
+ ) -> Item | abc.MutableSequence[Item]: ...
149
+ @overload
150
+ @setdoc.basic
151
+ def __setitem__(self: Self, key: int, value: Item, /) -> None: ...
152
+ @overload
153
+ @setdoc.basic
154
+ def __setitem__(
155
+ self: Self, key: Slice[int], value: abc.Iterable[Item], /
156
+ ) -> None: ...
157
+ @setdoc.basic
158
+ def __setitem__(
159
+ self: Self,
160
+ key: int | Slice[int],
161
+ value: Item | abc.Iterable[Item],
162
+ /,
163
+ ) -> None: ...
164
+ @setdoc.basic
165
+ def insert(self: Self, index: int, item: Item, /) -> None: ...
166
+
167
+
168
+ ### TYPE ALIASES ###
169
+
170
+
78
171
  type DictInit[Key, Value] = (
79
172
  SupportsKeysAndGetitem[Key | str, Optional[Value]]
80
173
  | abc.Iterable[tuple[Key | str, Optional[Value]]]
@@ -86,15 +179,6 @@ type Slice[Index] = slice[Optional[Index], Optional[Index], Optional[Index]]
86
179
  ### COLLECTION ###
87
180
 
88
181
 
89
- class Collection_Frozen[Item](
90
- abc.Sized,
91
- abc.Iterable[Item],
92
- Protocol,
93
- ):
94
- @setdoc.basic
95
- def __contains__(self: Self, other: Never, /) -> bool: ...
96
-
97
-
98
182
  class Collection[Item](
99
183
  abc.Sized,
100
184
  abc.Iterable[Item],
@@ -133,11 +217,6 @@ class Set[Item: abc.Hashable](Collection[Item], abc.Set[Item]):
133
217
  __slots__ = ()
134
218
 
135
219
 
136
- class MutableSet_Mutable[Item: abc.Hashable](Protocol):
137
- @setdoc.basic
138
- def add(self: Self, item: Item, /) -> object: ...
139
- @setdoc.basic
140
- def discard(self: Self, item: abc.Hashable, /) -> object: ...
141
220
  class MutableSet[Item: abc.Hashable](Set[Item], abc.MutableSet[Item]):
142
221
  """Provide abc for custom mutable set."""
143
222
 
@@ -301,9 +380,6 @@ class MutableSetSlot[Item](SetSlot[Item], MutableSetLike[Item]):
301
380
  ### MAPPING ###
302
381
 
303
382
 
304
- class Mapping_Frozen[Key, Value](Collection_Frozen[Key], Protocol):
305
- @setdoc.basic
306
- def __getitem__(self: Self, key: abc.Hashable, /) -> Value: ...
307
383
  class Mapping[Key: abc.Hashable, Value](
308
384
  Collection[Key],
309
385
  abc.Mapping[Key, Value],
@@ -322,15 +398,6 @@ class Mapping[Key: abc.Hashable, Value](
322
398
  return self.__frozen__()[key]
323
399
 
324
400
 
325
- class MutableMapping_Mutable[Key_, Value_](
326
- Protocol,
327
- ):
328
- @setdoc.basic
329
- def __delitem__(self: Self, key: Key_ | str, /) -> object: ...
330
- @setdoc.basic
331
- def __setitem__(
332
- self: Self, key: Key_ | str, value: Optional[Value_], /
333
- ) -> object: ...
334
401
  class MutableMapping[Key: abc.Hashable, Value](
335
402
  Mapping[Key, Value],
336
403
  abc.MutableMapping[Key | str, Optional[Value]],
@@ -525,22 +592,6 @@ class MutableDictSlot[Key: abc.Hashable, Value](
525
592
  ### SEQUENCE ###
526
593
 
527
594
 
528
- class Sequence_Frozen[Item](
529
- Collection_Frozen[Item],
530
- Protocol,
531
- ):
532
- @overload
533
- @setdoc.basic
534
- def __getitem__(self: Self, key: int, /) -> Item: ...
535
- @overload
536
- @setdoc.basic
537
- def __getitem__(self: Self, key: Slice[int], /) -> abc.Sequence[Item]: ...
538
- @setdoc.basic
539
- def __getitem__(
540
- self: Self,
541
- key: int | Slice[int],
542
- /,
543
- ) -> Item | abc.Sequence[Item]: ...
544
595
  class Sequence[Item](Collection[Item], abc.Sequence[Item]):
545
596
  """Provide abc for customized sequence."""
546
597
 
@@ -563,50 +614,6 @@ class Sequence[Item](Collection[Item], abc.Sequence[Item]):
563
614
  return self.__frozen__()[key]
564
615
 
565
616
 
566
- class MutableSequence_Mutable[Item](Protocol):
567
- @overload
568
- @setdoc.basic
569
- def __delitem__(self: Self, key: SupportsIndex, /) -> None: ...
570
- @overload
571
- @setdoc.basic
572
- def __delitem__(self: Self, key: Slice[SupportsIndex], /) -> None: ...
573
- @setdoc.basic
574
- def __delitem__(
575
- self: Self, key: SupportsIndex | Slice[SupportsIndex], /
576
- ) -> None: ...
577
- @overload
578
- @setdoc.basic
579
- def __getitem__(self: Self, key: int, /) -> Item: ...
580
- @overload
581
- @setdoc.basic
582
- def __getitem__(
583
- self: Self, key: Slice[int], /
584
- ) -> abc.MutableSequence[Item]: ...
585
- @setdoc.basic
586
- def __getitem__(
587
- self: Self,
588
- key: int | Slice[int],
589
- /,
590
- ) -> Item | abc.MutableSequence[Item]: ...
591
- @overload
592
- @setdoc.basic
593
- def __setitem__(self: Self, key: int, value: Item, /) -> None: ...
594
- @overload
595
- @setdoc.basic
596
- def __setitem__(
597
- self: Self, key: Slice[int], value: abc.Iterable[Item], /
598
- ) -> None: ...
599
- @setdoc.basic
600
- def __setitem__(
601
- self: Self,
602
- key: int | Slice[int],
603
- value: Item | abc.Iterable[Item],
604
- /,
605
- ) -> None: ...
606
- @setdoc.basic
607
- def insert(self: Self, index: int, item: Item, /) -> None: ...
608
-
609
-
610
617
  class MutableSequence[Item](Sequence[Item], abc.MutableSequence[Item]):
611
618
  """Provide abc for custom mutable sequence."""
612
619
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: datahold
3
- Version: 4.0.0.dev24
3
+ Version: 4.0.0.dev25
4
4
  Summary: This project wraps common mutable datastructures for inheritance with modification.
5
5
  Author-email: Johannes <johannes.programming@gmail.com>
6
6
  License-Expression: MIT
File without changes