В Python 3.3 класс ChainMap был добавлен в модуль collections:
Предусмотрен класс ChainMap для быстрой привязки нескольких отображений поэтому их можно рассматривать как единое целое. Это часто намного быстрее, чем создание нового словаря и выполнение нескольких вызовов update().
Пример:
>>> from collections import ChainMap
>>> x = {'a': 1, 'b': 2}
>>> y = {'b': 10, 'c': 11}
>>> z = ChainMap(y, x)
>>> for k, v in z.items():
        print(k, v)
a 1
c 11
b 10
Он был мотивирован этой проблемой и опубликован этим (не было создано PEP).
Насколько я понимаю, это альтернатива наличию дополнительного словаря и поддержание его с помощью update().
Вопросы:
-  В каких случаях используется 
ChainMap? -  Есть ли примеры реального мира 
ChainMap? - Используется ли в сторонних библиотеках, которые переключаются на python3?
 
Бонусный вопрос: есть ли способ использовать его на Python2.x?
Я слышал об этом в Transforming Code into Beautiful, Idiomatic Python Обсуждение PyCon Раймондом Хеттингером, и я хотел бы добавить его в свой инструментарий, но мне не хватает понимания, когда я должен использовать его.