<p>Has anybody seen such a thing? Small self-sufficient modules are preferred.</p>

SymPy
is a symbolic maths library written entirely in Python and has full support for rational numbers.  From the
tutorial
:
```
```
>>> from sympy import *
>>> a = Rational(1,2)

>>> a
1/2

>>> a*2
1

>>> Rational(2)**50/Rational(10)**50
1/88817841970012523233890533447265625
```
```
There is also GMP for Python (
GMPY
) which, while not pure Python, is probably more efficient.