datahold 4.0.0.dev30__tar.gz → 4.0.0.dev31__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.dev30 → datahold-4.0.0.dev31}/PKG-INFO +1 -1
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/pyproject.toml +1 -1
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/src/datahold/__init__.py +24 -10
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/src/datahold.egg-info/PKG-INFO +1 -1
- datahold-4.0.0.dev31/tests/test_FrozenDictSlot.py +626 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/tests/test_FrozenListSlot.py +160 -133
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/tests/test_FrozenSetSlot.py +136 -108
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/tests/test_MutableDictSlot.py +46 -44
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/tests/test_MutableListSlot.py +139 -137
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/tests/test_MutableSetSlot.py +74 -60
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/tests/test_all.py +10 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/tests/test_nested.py +1 -1
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/tests/testdata.toml +5 -0
- datahold-4.0.0.dev30/tests/test_FrozenDictSlot.py +0 -271
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/LICENSE.txt +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/MANIFEST.in +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/README.rst +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/docs/v1.1.rst +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/docs/v1.2.rst +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/docs/v2.0.rst +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/docs/v2.1.rst +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/docs/v2.2.rst +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/docs/v2.3.rst +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/docs/v3.0.rst +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/docs/v4.0.rst +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/run_tests.py +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/setup.cfg +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/src/datahold/py.typed +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/src/datahold.egg-info/SOURCES.txt +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/src/datahold.egg-info/dependency_links.txt +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/src/datahold.egg-info/requires.txt +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/src/datahold.egg-info/top_level.txt +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/tests/test_abstractmethods.py +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/tests/test_attributes.py +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/tests/test_docs.py +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/tests/test_generic.py +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/tests/test_issubclass.py +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/tests/test_metaclass.py +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/tests/test_name.py +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/tests/test_sorted.py +0 -0
- {datahold-4.0.0.dev30 → datahold-4.0.0.dev31}/tests/test_variance.py +0 -0
|
@@ -165,7 +165,8 @@ class MutableSequence_Mutable[Item](Protocol):
|
|
|
165
165
|
type Dict[Key, Value] = dict[Key | str, Value | None]
|
|
166
166
|
|
|
167
167
|
type Dict_Init[Key, Value] = (
|
|
168
|
-
SupportsKeysAndGetitem[Key
|
|
168
|
+
SupportsKeysAndGetitem[Key, Value | None]
|
|
169
|
+
| SupportsKeysAndGetitem[Key | str, Value | None]
|
|
169
170
|
| abc.Iterable[tuple[Key | str, Value | None]]
|
|
170
171
|
)
|
|
171
172
|
|
|
@@ -462,9 +463,11 @@ class Mapping[Key: abc.Hashable, Value](
|
|
|
462
463
|
raise KeyError(key) from None
|
|
463
464
|
|
|
464
465
|
@overload
|
|
465
|
-
def get(self, key: object) -> Value | None: ...
|
|
466
|
+
def get(self, key: object, /) -> Value | None: ...
|
|
466
467
|
@overload
|
|
467
|
-
def get[Value_](
|
|
468
|
+
def get[Value_](
|
|
469
|
+
self, key: object, default: Value_, /
|
|
470
|
+
) -> Value | Value_: ...
|
|
468
471
|
@setdoc.basic
|
|
469
472
|
def get[Value_](
|
|
470
473
|
self: Self, key: object, default: Value_ | None = None
|
|
@@ -507,6 +510,7 @@ class MutableMapping[Key: abc.Hashable, Value](
|
|
|
507
510
|
|
|
508
511
|
class DictLike[Key: abc.Hashable, Value](
|
|
509
512
|
Mapping[Key | str, Value | None],
|
|
513
|
+
abc.Reversible[Key | str],
|
|
510
514
|
):
|
|
511
515
|
"""Provide abc for custom dict-like."""
|
|
512
516
|
|
|
@@ -525,20 +529,24 @@ class DictLike[Key: abc.Hashable, Value](
|
|
|
525
529
|
**kwargs: Value,
|
|
526
530
|
): ...
|
|
527
531
|
@setdoc.basic
|
|
528
|
-
def __or__[Key_, Value_](
|
|
532
|
+
def __or__[Key_: abc.Hashable, Value_](
|
|
529
533
|
self: Self,
|
|
530
534
|
other: Dict_Init[Key_, Value_],
|
|
531
535
|
/,
|
|
532
536
|
) -> DictLike[Key | Key_, Value | Value_]:
|
|
533
|
-
|
|
537
|
+
other_: FrozenDict[Key, Value]
|
|
534
538
|
try:
|
|
535
|
-
|
|
539
|
+
other_ = frozendict(other) # type: ignore[arg-type]
|
|
536
540
|
except TypeError:
|
|
537
541
|
return NotImplemented
|
|
538
542
|
return type(self)( # type: ignore[return-value]
|
|
539
|
-
self.__frozen__() |
|
|
543
|
+
self.__frozen__() | other_
|
|
540
544
|
)
|
|
541
545
|
|
|
546
|
+
@setdoc.basic
|
|
547
|
+
def __reversed__(self: Self, /) -> abc.Iterator[Key | str]:
|
|
548
|
+
yield from reversed(self.__frozen__())
|
|
549
|
+
|
|
542
550
|
@classmethod
|
|
543
551
|
@setdoc.basic
|
|
544
552
|
def fromkeys(
|
|
@@ -583,7 +591,10 @@ class MutableDictLike[Key: abc.Hashable, Value](
|
|
|
583
591
|
/,
|
|
584
592
|
**kwargs: Value | None,
|
|
585
593
|
):
|
|
586
|
-
self.update(
|
|
594
|
+
self.update(
|
|
595
|
+
other, # type: ignore[arg-type]
|
|
596
|
+
**kwargs,
|
|
597
|
+
)
|
|
587
598
|
|
|
588
599
|
@setdoc.basic
|
|
589
600
|
def __ior__( # type: ignore[override]
|
|
@@ -592,7 +603,7 @@ class MutableDictLike[Key: abc.Hashable, Value](
|
|
|
592
603
|
/,
|
|
593
604
|
) -> Self:
|
|
594
605
|
with self.__mutate__() as mutable:
|
|
595
|
-
mutable |= other
|
|
606
|
+
mutable |= other # type: ignore[arg-type]
|
|
596
607
|
return self
|
|
597
608
|
|
|
598
609
|
@setdoc.basic
|
|
@@ -622,7 +633,10 @@ class FrozenDictSlot[Key: abc.Hashable, Value](
|
|
|
622
633
|
/,
|
|
623
634
|
**kwargs: Value | None,
|
|
624
635
|
) -> None:
|
|
625
|
-
self._slot = frozendict(
|
|
636
|
+
self._slot = frozendict(
|
|
637
|
+
other, # type: ignore[arg-type]
|
|
638
|
+
**kwargs,
|
|
639
|
+
)
|
|
626
640
|
|
|
627
641
|
|
|
628
642
|
class MutableDictSlot[Key: abc.Hashable, Value](
|