Contracts for Python? Hmm. Could be interesting, especially since you can disable them to boost runtime performance later. Maybe that will help get a better handle on the problems that Python's highly dynamic environment presents. Let me take a look.

At PyPI recent updates there's the original article.