treams.util.AnnotationDict¶
- class treams.util.AnnotationDict(items=(), /, **kwargs)¶
Dictionary that notifies the user when overwriting keys.
Behaves mostly similar to regular dictionaries, except that when overwriting existing keys a
AnnotationWarning
is emmitted.Examples
An
AnnotationDict
can be created from other mappings, from a list of key-value pairs (note how a warning is emmitted for the duplicate key), and from keyword arguments.>>> AnnotationDict({"a": 1, "b": 2}) AnnotationDict({'a': 1, 'b': 2}) >>> AnnotationDict([("a", 1), ("b", 2), ("a", 3)]) treams/util.py:74: AnnotationWarning: overwriting key 'a' warnings.warn(f"overwriting key '{key}'", AnnotationWarning) AnnotationDict({'a': 3, 'b': 2}) >>> AnnotationDict({"a": 1, "b": 2}, c=3) AnnotationDict({'a': 1, 'b': 2, 'c': 3})
- Warns:
AnnotationWarning
Methods
__eq__
(other)Return self==value.
__ge__
(value, /)Return self>=value.
__getitem__
(key)Get a value by its key.
__gt__
(value, /)Return self>value.
__le__
(value, /)Return self<=value.
__len__
()Number of keys contained.
__lt__
(value, /)Return self<value.
__ne__
(value, /)Return self!=value.
__repr__
()String representation.
__setitem__
(key, val)Set item specified by key to the defined value.
__str__
()Return str(self).
clear
()get
(k[,d])items
()keys
()match
(other)Compare the own keys to another dictionary.
pop
(k[,d])If key is not found, d is returned if given, otherwise KeyError is raised.
popitem
()as a 2-tuple; but raise KeyError if D is empty.
setdefault
(k[,d])update
([E, ]**F)If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v
values
()__le__
(value, /)Return self<=value.
__lt__
(value, /)Return self<value.
__str__
()Return str(self).
__ge__
(value, /)Return self>=value.
__gt__
(value, /)Return self>value.
__ne__
(value, /)Return self!=value.
__eq__
(other)Return self==value.