Strict hint
March 1, 2017 ยท View on GitHub
=========== Strict hint
Strict hint provides a way to do runtime type checks based based on type hint annotations introduced by PEP-484_.
Usage is quite simple, just add type annotations to a function or method and decorate it with @strict:
.. code-block:: python
from strict_hint import strict
@strict
def add(a: int: b: int) -> int:
return a+b
If non int will be passed, a TypeError will be raised.
Same will happen if function would return different type than expected.
Type checks support (for arguments and returned values):
- all primitive type hints:
int,float,list,tuple,set,dict, etc., - standard interpreter types eg.:
FunctionTypeand other, - tuples of types, eg:
(int, float)will allow for both types to be accepted, - default values, also of different type than annotation: eg.
a: int = None - used defined classes and class inheritance
.. _PEP-484: https://www.python.org/dev/peps/pep-0484/