Python Type validator with decorators
Project description
# python-type-valid
[](https://travis-ci.org/edmhs/python-type-valid)
[](https://codecov.io/gh/edmhs/python-type-valid)
[](https://codeclimate.com/github/edmhs/python-type-valid)
Python type validation decorator, validates input and output types
### Installation
~~~sh
pip install type-valid
~~~
### Usage
~~~python
from type_valid import type_valid
@type_valid
def hello(name: str) -> str:
return name
#valid
hello("Bob")
#invalid
hello(1)
@type_valid
def user(name: str, age: int, salary: float) -> str:
return name+str(age)+str(salary)
#valid
user(name="Bob", age=25, salary=1000.00)
~~~
### Raises TypeError
~~~sh
TypeError: in method 'hello', Argument 'name' is not of type <class 'str'>, received <class 'int'>
~~~
### Todo:
* Validate input DONE
* Validate Output DONE
* Validate input **kwargs ?
* Validate mandatory **kwargs ?
* Multiple types ?
### Types examples
~~~
str ""
int 4
float 10.5
list []
tuple ()
...
~~~
[](https://travis-ci.org/edmhs/python-type-valid)
[](https://codecov.io/gh/edmhs/python-type-valid)
[](https://codeclimate.com/github/edmhs/python-type-valid)
Python type validation decorator, validates input and output types
### Installation
~~~sh
pip install type-valid
~~~
### Usage
~~~python
from type_valid import type_valid
@type_valid
def hello(name: str) -> str:
return name
#valid
hello("Bob")
#invalid
hello(1)
@type_valid
def user(name: str, age: int, salary: float) -> str:
return name+str(age)+str(salary)
#valid
user(name="Bob", age=25, salary=1000.00)
~~~
### Raises TypeError
~~~sh
TypeError: in method 'hello', Argument 'name' is not of type <class 'str'>, received <class 'int'>
~~~
### Todo:
* Validate input DONE
* Validate Output DONE
* Validate input **kwargs ?
* Validate mandatory **kwargs ?
* Multiple types ?
### Types examples
~~~
str ""
int 4
float 10.5
list []
tuple ()
...
~~~
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
type_valid-0.1.5.tar.gz
(2.3 kB
view hashes)
Built Distribution
Close
Hashes for type_valid-0.1.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96b8454bf125f22cebb172d641bdea614683853247b57ea9581da3daf0200b22 |
|
MD5 | 9c6254a81d04a491b9cc51005d4be9c3 |
|
BLAKE2b-256 | dca091fccd3d028d9c460b5af0f481550468d8a7a1193ecd16bd7a4d8f1a44d0 |