Как реализовать C-подобный unsigned int 32 в Python без внешних зависимостей?

Мне нужен класс, который бы сохранил все функциональные возможности Pythonint класс, но убедитесь, что его результаты находятся в пределах 32-битных целых чисел, как в языке программирования C. Тип должен быть «ядовитым» - при выполнении операции над int этот тип должен возвращать этот тип. Как предложено в одном из ответовна мой другой вопросЯ использовал дляnumpy.uint32 для этой цели, но слишком глупо добавлять такую большую зависимость только для одного, относительно простого типа. Как мне этого добиться? Вот мои попытки до сих пор:

MODULO = 7  # will be 2**32 later on

class u32:
    def __init__(self, num = 0, base = None):
        print(num)
        if base is None:
            self.int = int(num) % MODULO
        else:
            self.int = int(num, base) % MODULO
    def __coerce__(self, x):
        return None
    def __str__(self):
        return "<u32 instance at 0x%x, int=%d>" % (id(self), self.int)
    def __getattr__(self, x):
        r = getattr(self.int, x)
        if callable(r):
            def f(*args, **kwargs):
                ret = r(*args, **kwargs) % MODULO
                print("x=%s, args=%s, kwargs=%s, ret=%s" % (x, args, kwargs, ret))
                if x not in ['__str__', '__repr__']:
                    return u32(ret)
                return r(*args, **kwargs)
            return f
        return r

u = u32(4)
print("u/2")
a = u * 2
assert(isinstance(a, u32))

print("\n2/u")
a = 2 * u
assert(isinstance(a, u32))

print("\nu+u")
"""
Traceback (most recent call last):
  File "u32.py", line 44, in <module>
    a = u + u
  File "u32.py", line 18, in f
    ret = r(*args, **kwargs) % MODULO
TypeError: unsupported operand type(s) for %: 'NotImplementedType' and 'int'
"""
a = u + u
assert(isinstance(a, u32))

Ответы на вопрос(1)

Ваш ответ на вопрос