I had the need to implement a hashable dict so I could use a dictionary as a key for another dictionary.
A few months ago I used this implementation: Python hashable
Here is a link to pip install-able implementation of @RaymondHettinger's answer: https://github.com/pcattori/icicle
pip install
Simply pip install icicle and you can from icicle import FrozenDict!
pip install icicle
from icicle import FrozenDict
Update: icicle has been deprecated in favor of maps: https://github.com/pcattori/maps (documentation, PyPI).
icicle
maps