1 """Read only dictionary."""
3 from copy
import deepcopy
7 def _readonly(*args: Any, **kwargs: Any) -> Any:
8 """Raise an exception when a read only dict is modified."""
9 raise RuntimeError(
"Cannot modify ReadOnlyDict")
13 """Read only version of dict that is compatible with dict types."""
15 __setitem__ = _readonly
16 __delitem__ = _readonly
21 setdefault = _readonly
24 """Create a shallow copy."""
28 """Create a deep copy."""
30 {deepcopy(key, memo): deepcopy(value, memo)
for key, value
in self.items()}
dict[_KT, _VT] __copy__(self)
dict[_KT, _VT] __deepcopy__(self, Any memo)
Any _readonly(*Any args, **Any kwargs)