The attached patch replaces all instances of "x.has_key(k)" method calls by "k in x". It also replaces one call to parser.ast2tuple by parser.st2tuple. This removes deprecation warnings when running in -3 mode.
Since the compiler package is removed in Python 3, I think it's okay for it to raise py3k warnings -- in fact, it should raise a quite prominent one when first imported that it's going to be removed.
I'd like to see this fixed, just to decrease the amount of warning spam I get when testing my own packages. It seems that one of my dependecies that I have no control over is pulling this in. Adding a warning when this module is important seems like a good idea, though.