An easy-to-use Python 3 runtime typechecker.
The typical usage for this decorator would be something like this:
def foo(i: int) -> bool:
return a > 0
def to_int(*, s: by_regex("^[0-9]+$")) -> int:
def set_debug_level(self, level: optional(one_of(1, 2, 3)) = 2):
self._level = level
This recipe is extensible with callable predicates, such as
is_even = lambda x: x % 2 == 0
def multiply_by_2(i: int) -> is_even:
return i * 2
The code was written by Dmitri Dvoinikov and maintained by Esteban Ordano
(@eordano on twitter).
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.