PyContracts is a Python package that allows to declare constraints on function parameters and return values. Contracts can be specified using Python3 annotations, or inside a docstring. PyContracts supports a basic type system, variables binding, arithmetic constraints, and has several specialized contracts and an extension API.
Thanks for a great project that I use everyday. It would be SO GREAT if you could find the time to complete the language reference at https://andreacensi.github.io/contracts/reference.html#contracts-language-reference!