A python library for variable type checker/validator/converter at run time.
Project description
pytypeutil
Summary
A python library for variable type checker/validator/converter at run time.
Usage
Type Check
>>> from pytypeutil.type import Integer
>>> Integer(1).is_type()
True
>>> Integer(1.1).is_type()
False
Type Validation
>>> from pytypeutil.type import Integer
>>> Integer(1).validate()
>>> try:
... Integer(1.1).validate()
... except TypeError as e:
... print(e)
...
invalid value type: expected=INTEGER, actual=<type 'float'>
Type Conversion
convert
>>> from pytypeutil.type import Integer
>>> from pytypeutil import TypeConversionError
>>> Integer("1").convert()
1
>>> try:
... Integer(1.1).convert()
... except TypeConversionError as e:
... print(e)
...
failed to convert from float to INTEGER
try_convert
>>> from pytypeutil.type import Integer
>>> Integer("1").try_convert()
1
>>> print(Integer(1.1).try_convert())
None
force_convert
>>> from pytypeutil.type import Integer
>>> Integer("1").force_convert()
1
>>> Integer(1.1).force_convert()
1
For more information
More examples are available at http://pytypeutil.rtfd.io/en/latest/pages/reference/index.html
Features
Supported types are as follows:
bool
datetime
dict
int
- float
Real number
Infinite
Not a number
None
- str
null string
Type check/validate/convert results will be decided according to strict_level which can be passed to constructors. API reference can be found at the document.
Installation
pip install pytypeutil
Dependencies
Python 2.7+ or 3.3+