Is there any reason for a class declaration to inherit from
# class code follows...
Yes, this is a 'new style' object. It was a feature introduced in python2.2.
New style objects have a different object model to classic objects, and some things won't work properly with old style objects, for instance, super(), @property and descriptors. See this article for a good description of what a new style class is:
SO link for a description of the differences: http://stackoverflow.com/questions/54867/old-style-and-new-style-classes-in-python