datahold 4.0.0.dev23__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.
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/PKG-INFO +1 -1
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/pyproject.toml +1 -1
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/src/datahold/__init__.py +109 -101
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/src/datahold.egg-info/PKG-INFO +1 -1
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/LICENSE.txt +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/MANIFEST.in +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/README.rst +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/docs/v1.1.rst +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/docs/v1.2.rst +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/docs/v2.0.rst +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/docs/v2.1.rst +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/docs/v2.2.rst +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/docs/v2.3.rst +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/docs/v3.0.rst +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/docs/v4.0.rst +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/run_tests.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/setup.cfg +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/src/datahold/py.typed +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/src/datahold.egg-info/SOURCES.txt +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/src/datahold.egg-info/dependency_links.txt +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/src/datahold.egg-info/requires.txt +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/src/datahold.egg-info/top_level.txt +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/tests/test_FrozenListSlot.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/tests/test_MutableListSlot.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/tests/test_abstractmethods.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/tests/test_all.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/tests/test_attributes.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/tests/test_docs.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/tests/test_generic.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/tests/test_internal_comparison.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/tests/test_issubclass.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/tests/test_name.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/tests/test_nested.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/tests/test_sorted.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/tests/test_variance.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev25}/tests/testdata.toml +0 -0
|
@@ -47,7 +47,7 @@ from typing import (
|
|
|
47
47
|
import setdoc
|
|
48
48
|
from frozendict import frozendict
|
|
49
49
|
|
|
50
|
-
###
|
|
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]]]
|
|
@@ -93,14 +186,7 @@ class Collection[Item](
|
|
|
93
186
|
):
|
|
94
187
|
"""Provide abc for custom collection."""
|
|
95
188
|
|
|
96
|
-
|
|
97
|
-
class __Frozen__[Item_](
|
|
98
|
-
abc.Sized,
|
|
99
|
-
abc.Iterable[Item_],
|
|
100
|
-
Protocol,
|
|
101
|
-
):
|
|
102
|
-
@setdoc.basic
|
|
103
|
-
def __contains__(self: Self, other: Never, /) -> bool: ...
|
|
189
|
+
type __Frozen__[Item_] = Collection_Frozen[Item_]
|
|
104
190
|
|
|
105
191
|
@setdoc.basic
|
|
106
192
|
def __contains__(self: Self, other: object, /) -> bool:
|
|
@@ -111,10 +197,10 @@ class Collection[Item](
|
|
|
111
197
|
|
|
112
198
|
@abstractmethod
|
|
113
199
|
@setdoc.basic
|
|
114
|
-
def __frozen__(self: Self, /) ->
|
|
200
|
+
def __frozen__(self: Self, /) -> Collection_Frozen[Item]: ...
|
|
115
201
|
|
|
116
202
|
@setdoc.basic
|
|
117
|
-
def __iter__(self: Self) -> abc.Iterator[Item]:
|
|
203
|
+
def __iter__(self: Self, /) -> abc.Iterator[Item]:
|
|
118
204
|
return iter(self.__frozen__())
|
|
119
205
|
|
|
120
206
|
@setdoc.basic
|
|
@@ -135,16 +221,11 @@ class MutableSet[Item: abc.Hashable](Set[Item], abc.MutableSet[Item]):
|
|
|
135
221
|
"""Provide abc for custom mutable set."""
|
|
136
222
|
|
|
137
223
|
__slots__ = ()
|
|
224
|
+
type __Mutable__[Item_] = MutableSet_Mutable[Item_]
|
|
138
225
|
|
|
139
|
-
@setdoc.basic
|
|
140
|
-
class __Mutable__[Item_: abc.Hashable](Protocol):
|
|
141
|
-
@setdoc.basic
|
|
142
|
-
def add(self: Self, item: Item_, /) -> object: ...
|
|
143
|
-
@setdoc.basic
|
|
144
|
-
def discard(self: Self, item: abc.Hashable, /) -> object: ...
|
|
145
226
|
@abstractmethod
|
|
146
227
|
@setdoc.basic
|
|
147
|
-
def __mutate__(self: Self) -> ContextManager[
|
|
228
|
+
def __mutate__(self: Self) -> ContextManager[MutableSet_Mutable[Item]]: ...
|
|
148
229
|
@setdoc.basic
|
|
149
230
|
def add(self: Self, item: Item, /) -> None:
|
|
150
231
|
with self.__mutate__() as mutable:
|
|
@@ -204,7 +285,7 @@ class FrozenSetLike[Item: abc.Hashable](SetLike[Item], abc.Hashable):
|
|
|
204
285
|
__slots__ = ()
|
|
205
286
|
|
|
206
287
|
@setdoc.basic
|
|
207
|
-
def __hash__(self: Self) -> int:
|
|
288
|
+
def __hash__(self: Self, /) -> int:
|
|
208
289
|
return hash(self.__frozen__())
|
|
209
290
|
|
|
210
291
|
|
|
@@ -265,7 +346,7 @@ class SetSlot[Item: abc.Hashable](SetLike[Item]):
|
|
|
265
346
|
_slot: SetSlot.__Frozen__[Item]
|
|
266
347
|
|
|
267
348
|
@setdoc.basic
|
|
268
|
-
def __frozen__(self: Self) -> SetSlot.__Frozen__[Item]:
|
|
349
|
+
def __frozen__(self: Self, /) -> SetSlot.__Frozen__[Item]:
|
|
269
350
|
return self._slot
|
|
270
351
|
|
|
271
352
|
|
|
@@ -307,12 +388,8 @@ class Mapping[Key: abc.Hashable, Value](
|
|
|
307
388
|
|
|
308
389
|
__slots__ = ()
|
|
309
390
|
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
Collection.__Frozen__[FrozenKey], Protocol
|
|
313
|
-
):
|
|
314
|
-
@setdoc.basic
|
|
315
|
-
def __getitem__(self: Self, key: abc.Hashable, /) -> FrozenValue: ...
|
|
391
|
+
type __Frozen__[Key_, Value_] = Mapping_Frozen[Key_, Value_]
|
|
392
|
+
|
|
316
393
|
@abstractmethod
|
|
317
394
|
@setdoc.basic
|
|
318
395
|
def __frozen__(self: Self, /) -> __Frozen__[Key, Value]: ...
|
|
@@ -329,16 +406,7 @@ class MutableMapping[Key: abc.Hashable, Value](
|
|
|
329
406
|
|
|
330
407
|
__slots__ = ()
|
|
331
408
|
|
|
332
|
-
|
|
333
|
-
class __Mutable__[Key_, Value_](
|
|
334
|
-
Protocol,
|
|
335
|
-
):
|
|
336
|
-
@setdoc.basic
|
|
337
|
-
def __delitem__(self: Self, key: Key_ | str, /) -> object: ...
|
|
338
|
-
@setdoc.basic
|
|
339
|
-
def __setitem__(
|
|
340
|
-
self: Self, key: Key_ | str, value: Optional[Value_], /
|
|
341
|
-
) -> object: ...
|
|
409
|
+
type __Mutable__[Key_, Value_] = MutableMapping_Mutable[Key_, Value_]
|
|
342
410
|
|
|
343
411
|
@setdoc.basic
|
|
344
412
|
def __delitem__(self: Self, key: Key | str, /) -> None:
|
|
@@ -352,7 +420,8 @@ class MutableMapping[Key: abc.Hashable, Value](
|
|
|
352
420
|
def __setitem__(
|
|
353
421
|
self: Self, key: Key | str, value: Optional[Value], /
|
|
354
422
|
) -> None:
|
|
355
|
-
self
|
|
423
|
+
with self.__mutate__() as mutable:
|
|
424
|
+
mutable[key] = value
|
|
356
425
|
|
|
357
426
|
|
|
358
427
|
### DICT-LIKE ###
|
|
@@ -399,7 +468,7 @@ class DictLike[Key: abc.Hashable, Value](
|
|
|
399
468
|
def fromkeys(
|
|
400
469
|
cls: type[Self],
|
|
401
470
|
iterable: abc.Iterable[Key | str],
|
|
402
|
-
value: Optional[Value],
|
|
471
|
+
value: Optional[Value] = None,
|
|
403
472
|
/,
|
|
404
473
|
) -> Self:
|
|
405
474
|
return cls(dict.fromkeys(iterable, value))
|
|
@@ -527,26 +596,8 @@ class Sequence[Item](Collection[Item], abc.Sequence[Item]):
|
|
|
527
596
|
"""Provide abc for customized sequence."""
|
|
528
597
|
|
|
529
598
|
__slots__ = ()
|
|
599
|
+
type __Frozen__[Item_] = Sequence_Frozen[Item_]
|
|
530
600
|
|
|
531
|
-
@setdoc.basic
|
|
532
|
-
class __Frozen__[Item_](
|
|
533
|
-
Collection.__Frozen__[Item_],
|
|
534
|
-
Protocol,
|
|
535
|
-
):
|
|
536
|
-
@overload
|
|
537
|
-
@setdoc.basic
|
|
538
|
-
def __getitem__(self: Self, key: int, /) -> Item_: ...
|
|
539
|
-
@overload
|
|
540
|
-
@setdoc.basic
|
|
541
|
-
def __getitem__(
|
|
542
|
-
self: Self, key: Slice[int], /
|
|
543
|
-
) -> abc.Sequence[Item_]: ...
|
|
544
|
-
@setdoc.basic
|
|
545
|
-
def __getitem__(
|
|
546
|
-
self: Self,
|
|
547
|
-
key: int | Slice[int],
|
|
548
|
-
/,
|
|
549
|
-
) -> Item_ | abc.Sequence[Item_]: ...
|
|
550
601
|
@abstractmethod
|
|
551
602
|
@setdoc.basic
|
|
552
603
|
def __frozen__(self: Self, /) -> __Frozen__[Item]: ...
|
|
@@ -567,50 +618,7 @@ class MutableSequence[Item](Sequence[Item], abc.MutableSequence[Item]):
|
|
|
567
618
|
"""Provide abc for custom mutable sequence."""
|
|
568
619
|
|
|
569
620
|
__slots__ = ()
|
|
570
|
-
|
|
571
|
-
@setdoc.basic
|
|
572
|
-
class __Mutable__[Item_](Protocol):
|
|
573
|
-
@overload
|
|
574
|
-
@setdoc.basic
|
|
575
|
-
def __delitem__(self: Self, key: SupportsIndex, /) -> None: ...
|
|
576
|
-
@overload
|
|
577
|
-
@setdoc.basic
|
|
578
|
-
def __delitem__(self: Self, key: Slice[SupportsIndex], /) -> None: ...
|
|
579
|
-
@setdoc.basic
|
|
580
|
-
def __delitem__(
|
|
581
|
-
self: Self, key: SupportsIndex | Slice[SupportsIndex], /
|
|
582
|
-
) -> None: ...
|
|
583
|
-
@overload
|
|
584
|
-
@setdoc.basic
|
|
585
|
-
def __getitem__(self: Self, key: int, /) -> Item_: ...
|
|
586
|
-
@overload
|
|
587
|
-
@setdoc.basic
|
|
588
|
-
def __getitem__(
|
|
589
|
-
self: Self, key: Slice[int], /
|
|
590
|
-
) -> abc.MutableSequence[Item_]: ...
|
|
591
|
-
@setdoc.basic
|
|
592
|
-
def __getitem__(
|
|
593
|
-
self: Self,
|
|
594
|
-
key: int | Slice[int],
|
|
595
|
-
/,
|
|
596
|
-
) -> Item_ | abc.MutableSequence[Item_]: ...
|
|
597
|
-
@overload
|
|
598
|
-
@setdoc.basic
|
|
599
|
-
def __setitem__(self: Self, key: int, value: Item_, /) -> None: ...
|
|
600
|
-
@overload
|
|
601
|
-
@setdoc.basic
|
|
602
|
-
def __setitem__(
|
|
603
|
-
self: Self, key: Slice[int], value: abc.Iterable[Item_], /
|
|
604
|
-
) -> None: ...
|
|
605
|
-
@setdoc.basic
|
|
606
|
-
def __setitem__(
|
|
607
|
-
self: Self,
|
|
608
|
-
key: int | Slice[int],
|
|
609
|
-
value: Item_ | abc.Iterable[Item_],
|
|
610
|
-
/,
|
|
611
|
-
) -> None: ...
|
|
612
|
-
@setdoc.basic
|
|
613
|
-
def insert(self: Self, index: int, item: Item_, /) -> None: ...
|
|
621
|
+
type __Mutable__[Item_] = MutableSequence_Mutable[Item_]
|
|
614
622
|
|
|
615
623
|
@overload
|
|
616
624
|
@setdoc.basic
|
|
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
|
|
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
|