wvalidate


Namewvalidate JSON
Version 0.0.1 PyPI version JSON
download
home_page
SummarySimple data structure validator
upload_time2023-05-27 18:31:24
maintainer
docs_urlNone
authorLeandro Crispim
requires_python
licenseMIT 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"
}
        
Elapsed time: 0.06998s