simple validator for input data (only work for python dict)
Project description
makesure
Simple validation for input datas
Installation
pip install makesure
Usage
Create a schema that defines your data and call the function make_sure(your_schema,input_data)
if any validation fails it will raise an exception MakeSureException
otherwise it return the data.
Schemas
A schema is a dict that defines your data.
Keys | Description |
---|---|
required | key must be in data and cannot be None |
min | value grater than or equal to min |
max | value less than or equal to max |
min_len | len of value less than or equal to min_len |
max_len | len of value less than or equal to max_len |
regx | value must satisfy this reguler expressions |
type | data types such as int, str, list, dict, tuple |
enum | value must be in list or tuple or set |
msg | your own error message |
sample schema
user_schema = {
'name':{
'required':True,
'type':str
},
'email':{
'type':str,
'required':True,
'regx':Regx.email
},
'age':{
'type':int,
'min':18
}
}
Some Useful Regx
from makesure import Regx
Regx | Description |
---|---|
Regx.email | email regx |
Regx.alpha | only alphabets |
Regx.number | only numbers |
Regx.alphanum | alphanumerics string |
Example
# app.py
from makesure import make_sure, Regx, MakeSureException
user_schema = {
'name':{
'required':True,
'type':str,
},
'age':{
'type':int,
'min':18
},
'email':{
'regx':Regx.email
}
}
data = {
'name':'Your Name',
'age':12,
'email':'asdasd'
}
try:
result = make_sure(user_schema,data)
print(result)
except MakeSureException as e:
print(e)
License
MIT
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
makesure-0.4.tar.gz
(3.2 kB
view details)
File details
Details for the file makesure-0.4.tar.gz
.
File metadata
- Download URL: makesure-0.4.tar.gz
- Upload date:
- Size: 3.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.8.0 tqdm/4.61.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfd8d8adac69ec62e2aa72f304bd62907e2ca90be268f3758cb08f86110b4537 |
|
MD5 | fb3a713e30aa9830dec41fc65bb0db28 |
|
BLAKE2b-256 | a0631d9bc1a8e03c4f2f4df8b10ba99b558b99ea82b1b039b9d5ad2344085246 |