Not sure if this is common knowledge yet but Sympy, http://code.google.com/p/sympy, has a rational type.
In [2]: from sympy import * In [3]: Rational(21,4) Out[3]: 21/4 In [4]: Rational(21,4)+Rational(3,4) Out[4]: 6 -- http://mail.python.org/mailman/listinfo/python-list