So I think that not using the __eq__ method of the keys or values is wrong (dicts do use it), but there's a philosophical question: if two OrderedDicts have the same key/value pairs in a different order, should they be considered equal or not? (Only when we've answered this can we answer the question about keys/values/items).

I'm not a frequent user of OrderedDict, so I don't have a good intuition, unfortunately.

--
--Guido van Rossum (python.org/~guido)