- Implement a
dict
-like object without relying ondict
. - Implement enough of
dict
's behaviour to make it useful. - Avoid mutation.
- Extend the functionality beyond what's available in
dict
in Python 3.8.- Supporting merging two
dictish
throughor
:ing them (d | other
). - Supporting appending to a
dictish
byadd
:ing to it (d + key_value_pair
). - Behaving like a function (callable).
- Supporting subset and superset comparisons of two
dictish
.
- Supporting merging two
- Basic, empty
dictish
. - Basic
dictish
with key-value pairs. - Iterating over keys, values, and items.
- Supporting subscript (
d["key"]
). - Supporting
get
(d.get("key")
). - Equality.
- Deduplicating key-value pairs.
- Supporting
|
and+
. - Representation (
repr
andstr
).
- Hello doctests!
- Extracting a helper collection class.
- A bit of inspiration taken from Clojure.
- Subset and superset comparisons.
- A word on hashing.
- A word on Abstract Base Classes.