Strict type runtime checks for arguments and return types.
Project description
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:
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.: FunctionType and 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