A Python 3 easy to use runtime typechecker
Project description
typecheck3
===
An easy-to-use Python 3 runtime typechecker.
Usage
---
The typical usage for this decorator would be something like this:
@typecheck
def foo(i: int) -> bool:
return a > 0
@typecheck
def to_int(*, s: by_regex("^[0-9]+$")) -> int:
return int(s)
@typecheck
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
@typecheck
def multiply_by_2(i: int) -> is_even:
return i * 2
Credits
---
The code was written by Dmitri Dvoinikov and maintained by Esteban Ordano
(@eordano on twitter).
Original link:
http://code.activestate.com/recipes/572161/
===
An easy-to-use Python 3 runtime typechecker.
Usage
---
The typical usage for this decorator would be something like this:
@typecheck
def foo(i: int) -> bool:
return a > 0
@typecheck
def to_int(*, s: by_regex("^[0-9]+$")) -> int:
return int(s)
@typecheck
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
@typecheck
def multiply_by_2(i: int) -> is_even:
return i * 2
Credits
---
The code was written by Dmitri Dvoinikov and maintained by Esteban Ordano
(@eordano on twitter).
Original link:
http://code.activestate.com/recipes/572161/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Built Distribution
typecheck3-0.1.0-py3.3.egg
(1.4 kB
view hashes)