Name | wvalidate JSON |
Version |
0.0.1
JSON |
| download |
home_page | |
Summary | Simple data structure validator |
upload_time | 2023-05-27 18:31:24 |
maintainer | |
docs_url | None |
author | Leandro Crispim |
requires_python | |
license | MIT License |
keywords |
validator
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# wvalidate
## Introduction
WValidate is a validation library.
## Installation
### Requirements
- Python 3.8+
```sh
pip install wvalidate
```
## Basic usage
Creating a simple string validator
```py
from wvalidate import Validate as v
# creating a validator for string
my_validator = v.string()
my_validator.is_valid("Maria") # => (True, None)
my_validator.is_valid(42) # => (False, ValidatorError)
```
Creating a dict validator
```py
from wvalidate import Validate as v
user_validator = v.dict({
"name": v.string()
})
user_validator.is_valid({ "name": "Fernanda" }) # => (True, None)
user_validator.is_valid({ "name": 31 }) # => (False, ValidatorError)
```
## Primitives
```py
from wvalidate import Validate as v
# primitive values
v.string()
v.integer()
v.float()
v.numeric()
```
## Strings
```py
from wvalidate import Validate as v
v.string(equal="EQUAL")
v.string(min=1)
v.string(max=5)
v.string(min=2, max=7)
v.email()
```
## Numbers
```py
from wvalidate import Validate as v
v.integer(min=1)
v.integer(max=5)
v.integer(min=2, max=7)
v.float(min=1)
v.float(max=5)
v.float(min=2, max=7)
# valid integers and floats
v.numeric(min=1)
v.numeric(max=5)
v.numeric(min=2, max=7)
```
## Enums
```py
from wvalidate import Validate as v
# A list of any type must be passed
v.enum(["rock", "paper", "scissors"])
v.enum([True, False])
v.enum([5, "FIVE"])
my_validator_enum = v.enum([5, "FIVE"])
my_validator_enum.is_valid(5) # => (True, None)
my_validator_enum.is_valid("SIX") # => (Flase, ValidatorError)
```
## Nullables
```py
from wvalidate import Validate as v
# Any Validator must be passed
v.nullable(v.string())
v.nullable(v.enum([True, False]))
v.nullable(v.dict({
"name": v.string(),
"age": v.integer()
}))
my_validator_nullable = v.nullable(v.string())
my_validator_nullable.is_valid("Maria") # => (True, None)
my_validator_nullable.is_valid(None) # => (True, None)
my_validator_nullable.is_valid(3) # => (Flase, ValidatorError)
```
## Lists
```py
from wvalidate import Validate as v
# Any Validator must be passed
v.list(v.string())
v.list(v.enum([True, False]))
v.list(v.dict({
"name": v.string(),
"age": v.integer()
}))
my_validator_list = v.list(v.string())
my_validator_list.is_valid(["ONE", "TWO", "THREE"]) # => (True, None)
my_validator_list.is_valid(["ONE", "TWO", 3]) # => (Flase, ValidatorError)
```
## Dictionaries
```py
from wvalidate import Validate as v
v.dict({
"name": v.string(),
"price": v.numeric(min=0),
"category": v.enum(["food", "drink"])
})
v.dict({
"name": v.string(),
"price": v.integer(min=0),
"address": {
"city": v.string()
}
})
v.dict({
"users": v.list(
v.dict({
"name": v.string(),
"price": v.integer(min=0),
})
)
})
user_validator = v.dict({
"name": v.string()
})
user_validator.is_valid({ "name": "Fernanda" }) # => (True, None)
user_validator.is_valid({ "name": 31 }) # => (False, ValidatorError)
```
Raw data
{
"_id": null,
"home_page": "",
"name": "wvalidate",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "validator",
"author": "Leandro Crispim",
"author_email": "leandro.c25@aluno.ifsc.edu.br",
"download_url": "https://files.pythonhosted.org/packages/c9/dc/6fa01b7f468dbcc23b01ff6e1102742eaa44ac2ad456a4aa32ecd7406ddf/wvalidate-0.0.1.tar.gz",
"platform": null,
"description": "# wvalidate\n\n## Introduction\n\nWValidate is a validation library.\n\n## Installation\n\n### Requirements\n\n- Python 3.8+\n\n```sh\npip install wvalidate \n```\n\n## Basic usage\n\nCreating a simple string validator\n\n```py\nfrom wvalidate import Validate as v\n\n# creating a validator for string\nmy_validator = v.string()\n\nmy_validator.is_valid(\"Maria\") # => (True, None)\nmy_validator.is_valid(42) # => (False, ValidatorError)\n```\n\nCreating a dict validator\n\n```py\nfrom wvalidate import Validate as v\n\nuser_validator = v.dict({\n \"name\": v.string()\n})\n\nuser_validator.is_valid({ \"name\": \"Fernanda\" }) # => (True, None)\nuser_validator.is_valid({ \"name\": 31 }) # => (False, ValidatorError)\n```\n\n\n## Primitives\n\n```py\nfrom wvalidate import Validate as v\n\n# primitive values\nv.string()\nv.integer()\nv.float()\nv.numeric()\n```\n\n## Strings\n\n```py\nfrom wvalidate import Validate as v\n\nv.string(equal=\"EQUAL\")\nv.string(min=1)\nv.string(max=5)\nv.string(min=2, max=7)\nv.email()\n```\n\n## Numbers\n\n```py\nfrom wvalidate import Validate as v\n\nv.integer(min=1)\nv.integer(max=5)\nv.integer(min=2, max=7)\n\nv.float(min=1)\nv.float(max=5)\nv.float(min=2, max=7)\n\n# valid integers and floats\nv.numeric(min=1)\nv.numeric(max=5)\nv.numeric(min=2, max=7)\n```\n\n## Enums\n\n```py\nfrom wvalidate import Validate as v\n\n# A list of any type must be passed\nv.enum([\"rock\", \"paper\", \"scissors\"])\nv.enum([True, False])\nv.enum([5, \"FIVE\"])\n\nmy_validator_enum = v.enum([5, \"FIVE\"])\n\nmy_validator_enum.is_valid(5) # => (True, None)\nmy_validator_enum.is_valid(\"SIX\") # => (Flase, ValidatorError)\n```\n\n## Nullables\n\n```py\nfrom wvalidate import Validate as v\n\n# Any Validator must be passed\nv.nullable(v.string())\nv.nullable(v.enum([True, False]))\nv.nullable(v.dict({\n \"name\": v.string(),\n \"age\": v.integer()\n}))\n\nmy_validator_nullable = v.nullable(v.string())\n\nmy_validator_nullable.is_valid(\"Maria\") # => (True, None)\nmy_validator_nullable.is_valid(None) # => (True, None)\nmy_validator_nullable.is_valid(3) # => (Flase, ValidatorError)\n```\n\n## Lists\n\n```py\nfrom wvalidate import Validate as v\n\n# Any Validator must be passed\nv.list(v.string())\nv.list(v.enum([True, False]))\nv.list(v.dict({\n \"name\": v.string(),\n \"age\": v.integer()\n}))\n\nmy_validator_list = v.list(v.string())\n\nmy_validator_list.is_valid([\"ONE\", \"TWO\", \"THREE\"]) # => (True, None)\nmy_validator_list.is_valid([\"ONE\", \"TWO\", 3]) # => (Flase, ValidatorError)\n```\n\n## Dictionaries\n\n```py\nfrom wvalidate import Validate as v\n\nv.dict({\n \"name\": v.string(),\n \"price\": v.numeric(min=0),\n \"category\": v.enum([\"food\", \"drink\"])\n})\n\nv.dict({\n \"name\": v.string(),\n \"price\": v.integer(min=0),\n \"address\": {\n \"city\": v.string()\n }\n})\n\nv.dict({\n \"users\": v.list(\n v.dict({\n \"name\": v.string(),\n \"price\": v.integer(min=0),\n })\n )\n})\n\nuser_validator = v.dict({\n \"name\": v.string()\n})\n\nuser_validator.is_valid({ \"name\": \"Fernanda\" }) # => (True, None)\nuser_validator.is_valid({ \"name\": 31 }) # => (False, ValidatorError)\n```\n\n\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "Simple data structure validator",
"version": "0.0.1",
"project_urls": null,
"split_keywords": [
"validator"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e65de75976ec75da186898cbcfafc12d51dcba0074d8ddfa87c9a003f5228d1c",
"md5": "22a359b6feb5b15766e6d6093e179295",
"sha256": "26e36164d28b8414c6d2c629e3b1a3769410d1650ef0b9bc68b42b368a3dfc23"
},
"downloads": -1,
"filename": "wvalidate-0.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "22a359b6feb5b15766e6d6093e179295",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 23883,
"upload_time": "2023-05-27T18:31:22",
"upload_time_iso_8601": "2023-05-27T18:31:22.261955Z",
"url": "https://files.pythonhosted.org/packages/e6/5d/e75976ec75da186898cbcfafc12d51dcba0074d8ddfa87c9a003f5228d1c/wvalidate-0.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c9dc6fa01b7f468dbcc23b01ff6e1102742eaa44ac2ad456a4aa32ecd7406ddf",
"md5": "bebb4b208616cd901e11cb3832f92238",
"sha256": "745e3f8037a3e128eb3c26d70c4dd66daa0772cccea691455c08947f086d85c7"
},
"downloads": -1,
"filename": "wvalidate-0.0.1.tar.gz",
"has_sig": false,
"md5_digest": "bebb4b208616cd901e11cb3832f92238",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13862,
"upload_time": "2023-05-27T18:31:24",
"upload_time_iso_8601": "2023-05-27T18:31:24.921257Z",
"url": "https://files.pythonhosted.org/packages/c9/dc/6fa01b7f468dbcc23b01ff6e1102742eaa44ac2ad456a4aa32ecd7406ddf/wvalidate-0.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-27 18:31:24",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "wvalidate"
}