So... I wrote a new Rect class to fix these problems.
easy_install rectAlso included in the rect package is a quadtree spatial index, and a rectangle-bin packing function, useful for packing sprite strips, pre-rendered font characters or perhaps tile maps.
>>> from rect import Rect
>>> r = Rect((0,0,10,10))
Update: Oops, a link would be helpful :-) http://cheeseshop.python.org/pypi/Rect/