datahold 4.0.0.dev23__tar.gz → 4.0.0.dev24__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.dev24}/PKG-INFO +1 -1
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/pyproject.toml +1 -1
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/src/datahold/__init__.py +101 -100
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/src/datahold.egg-info/PKG-INFO +1 -1
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/LICENSE.txt +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/MANIFEST.in +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/README.rst +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/docs/v1.1.rst +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/docs/v1.2.rst +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/docs/v2.0.rst +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/docs/v2.1.rst +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/docs/v2.2.rst +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/docs/v2.3.rst +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/docs/v3.0.rst +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/docs/v4.0.rst +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/run_tests.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/setup.cfg +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/src/datahold/py.typed +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/src/datahold.egg-info/SOURCES.txt +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/src/datahold.egg-info/dependency_links.txt +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/src/datahold.egg-info/requires.txt +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/src/datahold.egg-info/top_level.txt +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/tests/test_FrozenListSlot.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/tests/test_MutableListSlot.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/tests/test_abstractmethods.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/tests/test_all.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/tests/test_attributes.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/tests/test_docs.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/tests/test_generic.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/tests/test_internal_comparison.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/tests/test_issubclass.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/tests/test_name.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/tests/test_nested.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/tests/test_sorted.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/tests/test_variance.py +0 -0
- {datahold-4.0.0.dev23 → datahold-4.0.0.dev24}/tests/testdata.toml +0 -0
|
@@ -86,6 +86,15 @@ type Slice[Index] = slice[Optional[Index], Optional[Index], Optional[Index]]
|
|
|
86
86
|
### COLLECTION ###
|
|
87
87
|
|
|
88
88
|
|
|
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
|
+
|
|
89
98
|
class Collection[Item](
|
|
90
99
|
abc.Sized,
|
|
91
100
|
abc.Iterable[Item],
|
|
@@ -93,14 +102,7 @@ class Collection[Item](
|
|
|
93
102
|
):
|
|
94
103
|
"""Provide abc for custom collection."""
|
|
95
104
|
|
|
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: ...
|
|
105
|
+
type __Frozen__[Item_] = Collection_Frozen[Item_]
|
|
104
106
|
|
|
105
107
|
@setdoc.basic
|
|
106
108
|
def __contains__(self: Self, other: object, /) -> bool:
|
|
@@ -111,10 +113,10 @@ class Collection[Item](
|
|
|
111
113
|
|
|
112
114
|
@abstractmethod
|
|
113
115
|
@setdoc.basic
|
|
114
|
-
def __frozen__(self: Self, /) ->
|
|
116
|
+
def __frozen__(self: Self, /) -> Collection_Frozen[Item]: ...
|
|
115
117
|
|
|
116
118
|
@setdoc.basic
|
|
117
|
-
def __iter__(self: Self) -> abc.Iterator[Item]:
|
|
119
|
+
def __iter__(self: Self, /) -> abc.Iterator[Item]:
|
|
118
120
|
return iter(self.__frozen__())
|
|
119
121
|
|
|
120
122
|
@setdoc.basic
|
|
@@ -131,20 +133,20 @@ class Set[Item: abc.Hashable](Collection[Item], abc.Set[Item]):
|
|
|
131
133
|
__slots__ = ()
|
|
132
134
|
|
|
133
135
|
|
|
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: ...
|
|
134
141
|
class MutableSet[Item: abc.Hashable](Set[Item], abc.MutableSet[Item]):
|
|
135
142
|
"""Provide abc for custom mutable set."""
|
|
136
143
|
|
|
137
144
|
__slots__ = ()
|
|
145
|
+
type __Mutable__[Item_] = MutableSet_Mutable[Item_]
|
|
138
146
|
|
|
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
147
|
@abstractmethod
|
|
146
148
|
@setdoc.basic
|
|
147
|
-
def __mutate__(self: Self) -> ContextManager[
|
|
149
|
+
def __mutate__(self: Self) -> ContextManager[MutableSet_Mutable[Item]]: ...
|
|
148
150
|
@setdoc.basic
|
|
149
151
|
def add(self: Self, item: Item, /) -> None:
|
|
150
152
|
with self.__mutate__() as mutable:
|
|
@@ -204,7 +206,7 @@ class FrozenSetLike[Item: abc.Hashable](SetLike[Item], abc.Hashable):
|
|
|
204
206
|
__slots__ = ()
|
|
205
207
|
|
|
206
208
|
@setdoc.basic
|
|
207
|
-
def __hash__(self: Self) -> int:
|
|
209
|
+
def __hash__(self: Self, /) -> int:
|
|
208
210
|
return hash(self.__frozen__())
|
|
209
211
|
|
|
210
212
|
|
|
@@ -265,7 +267,7 @@ class SetSlot[Item: abc.Hashable](SetLike[Item]):
|
|
|
265
267
|
_slot: SetSlot.__Frozen__[Item]
|
|
266
268
|
|
|
267
269
|
@setdoc.basic
|
|
268
|
-
def __frozen__(self: Self) -> SetSlot.__Frozen__[Item]:
|
|
270
|
+
def __frozen__(self: Self, /) -> SetSlot.__Frozen__[Item]:
|
|
269
271
|
return self._slot
|
|
270
272
|
|
|
271
273
|
|
|
@@ -299,6 +301,9 @@ class MutableSetSlot[Item](SetSlot[Item], MutableSetLike[Item]):
|
|
|
299
301
|
### MAPPING ###
|
|
300
302
|
|
|
301
303
|
|
|
304
|
+
class Mapping_Frozen[Key, Value](Collection_Frozen[Key], Protocol):
|
|
305
|
+
@setdoc.basic
|
|
306
|
+
def __getitem__(self: Self, key: abc.Hashable, /) -> Value: ...
|
|
302
307
|
class Mapping[Key: abc.Hashable, Value](
|
|
303
308
|
Collection[Key],
|
|
304
309
|
abc.Mapping[Key, Value],
|
|
@@ -307,12 +312,8 @@ class Mapping[Key: abc.Hashable, Value](
|
|
|
307
312
|
|
|
308
313
|
__slots__ = ()
|
|
309
314
|
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
Collection.__Frozen__[FrozenKey], Protocol
|
|
313
|
-
):
|
|
314
|
-
@setdoc.basic
|
|
315
|
-
def __getitem__(self: Self, key: abc.Hashable, /) -> FrozenValue: ...
|
|
315
|
+
type __Frozen__[Key_, Value_] = Mapping_Frozen[Key_, Value_]
|
|
316
|
+
|
|
316
317
|
@abstractmethod
|
|
317
318
|
@setdoc.basic
|
|
318
319
|
def __frozen__(self: Self, /) -> __Frozen__[Key, Value]: ...
|
|
@@ -321,6 +322,15 @@ class Mapping[Key: abc.Hashable, Value](
|
|
|
321
322
|
return self.__frozen__()[key]
|
|
322
323
|
|
|
323
324
|
|
|
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: ...
|
|
324
334
|
class MutableMapping[Key: abc.Hashable, Value](
|
|
325
335
|
Mapping[Key, Value],
|
|
326
336
|
abc.MutableMapping[Key | str, Optional[Value]],
|
|
@@ -329,16 +339,7 @@ class MutableMapping[Key: abc.Hashable, Value](
|
|
|
329
339
|
|
|
330
340
|
__slots__ = ()
|
|
331
341
|
|
|
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: ...
|
|
342
|
+
type __Mutable__[Key_, Value_] = MutableMapping_Mutable[Key_, Value_]
|
|
342
343
|
|
|
343
344
|
@setdoc.basic
|
|
344
345
|
def __delitem__(self: Self, key: Key | str, /) -> None:
|
|
@@ -352,7 +353,8 @@ class MutableMapping[Key: abc.Hashable, Value](
|
|
|
352
353
|
def __setitem__(
|
|
353
354
|
self: Self, key: Key | str, value: Optional[Value], /
|
|
354
355
|
) -> None:
|
|
355
|
-
self
|
|
356
|
+
with self.__mutate__() as mutable:
|
|
357
|
+
mutable[key] = value
|
|
356
358
|
|
|
357
359
|
|
|
358
360
|
### DICT-LIKE ###
|
|
@@ -399,7 +401,7 @@ class DictLike[Key: abc.Hashable, Value](
|
|
|
399
401
|
def fromkeys(
|
|
400
402
|
cls: type[Self],
|
|
401
403
|
iterable: abc.Iterable[Key | str],
|
|
402
|
-
value: Optional[Value],
|
|
404
|
+
value: Optional[Value] = None,
|
|
403
405
|
/,
|
|
404
406
|
) -> Self:
|
|
405
407
|
return cls(dict.fromkeys(iterable, value))
|
|
@@ -523,30 +525,28 @@ class MutableDictSlot[Key: abc.Hashable, Value](
|
|
|
523
525
|
### SEQUENCE ###
|
|
524
526
|
|
|
525
527
|
|
|
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]: ...
|
|
526
544
|
class Sequence[Item](Collection[Item], abc.Sequence[Item]):
|
|
527
545
|
"""Provide abc for customized sequence."""
|
|
528
546
|
|
|
529
547
|
__slots__ = ()
|
|
548
|
+
type __Frozen__[Item_] = Sequence_Frozen[Item_]
|
|
530
549
|
|
|
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
550
|
@abstractmethod
|
|
551
551
|
@setdoc.basic
|
|
552
552
|
def __frozen__(self: Self, /) -> __Frozen__[Item]: ...
|
|
@@ -563,54 +563,55 @@ class Sequence[Item](Collection[Item], abc.Sequence[Item]):
|
|
|
563
563
|
return self.__frozen__()[key]
|
|
564
564
|
|
|
565
565
|
|
|
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
|
+
|
|
566
610
|
class MutableSequence[Item](Sequence[Item], abc.MutableSequence[Item]):
|
|
567
611
|
"""Provide abc for custom mutable sequence."""
|
|
568
612
|
|
|
569
613
|
__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: ...
|
|
614
|
+
type __Mutable__[Item_] = MutableSequence_Mutable[Item_]
|
|
614
615
|
|
|
615
616
|
@overload
|
|
616
617
|
@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
|