OH, I didn't see that.
You should not use "is" to compare things. "is" does an exact object comparison (in memory). So for instance
a = []
b = []
a is b
will give False, because a and b are different lists. For immutable objects like tuples, Python reserves the right to cache the same object for performance purposes, but does not guarantee it (with the exception of a few things like True, False, and None). So it looks like CPython does cache the empty tuple (), but PyPy does not.
Basically, you should never use "is", unless you really mean it. Always use "==".
Aaron Meurer