Contracts for Python 2.2+
- Uses a Python metaclass to implement
- preconditions, postconditions and invarients. The contracts can be enabled or disabled on either a per module or per class basis. When contracts are not enabled for a particular class, they impose no execution time overhead at all on it.