Data validation utilities
Project description
vutils-validator: Data Validation Utilities
This package provides a set of tools that helps with validation of input data.
Installation
To get the package on your system, type
$ pip install vutils-validator
How to Use
Please, read the following subsections to get more info about particular use case.
Basic Validations
Module vutils.validator.basic
provides a set of functions for validation of
simple input data forms, like email addresses:
verify_not_empty(value)
fails ifvalue
is empty.verify_matches(value, regex, message="")
fails ifvalue
does not match regular expressionregex
. Since many regular expressions describe entities that have a name (identifier, number, email address, etc.) the default error message can be overridden bymessage
argument.verify_email(value)
fails ifvalue
is not an email address (currently described by simple^\S+@\S+\.[A-Za-z]+$
regular expression).
The value
passed to all validation functions can be either str
or a
ValueHolder
(from vutils.validator.value
) object. A ValueHolder
object
can be used to store additional information about value, like its name and
origin. The synopsis of ValueHolder
's constructor is
__init__(self, value, name="The value", location=None)
, where value
,
name
, and location
are value, its name, and the location of its origin,
respectively. location
is a Location
(from vutils.validator.value
) object
that holds path, line, and column of the value/token origin. ValueHolder
serves to provide more detail about value in error messages issued by
validation functions by raising ValidationError
(from
vutils.validator.errors
) when the validation fails, example:
from vutils.validator.basic import verify_email
from vutils.validator.errors import ValidationError
from vutils.validator.value import ValueHolder
def get_input(name):
return ValueHolder(input(f"Enter {name}: "), name)
try:
verify_email(get_input("email"))
except ValidationError as exc:
print(exc)
On ill-formed input, the example prints email must be an email address!
,
since get_input
names a value as email
.
Schema Validation
Module vutils.validator.schema
provides function validate(data, schema)
for
data
validation against JSON schema schema
. Function returns None
in case
of valid data
or list of jsonschema.exceptions.{Validation,Schema}Error
in
case of invalid data
or schema
.
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
Built Distribution
Hashes for vutils_validator-0.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2461a8d5960bfa9904ffb42f9205dae494c9c697b76700dcd041cd6598a84eb0 |
|
MD5 | f29b795f579fa77fd75ac3d406943ba5 |
|
BLAKE2b-256 | f44380f35aaf6523a6d64b092d48bde13f35f383a341d41ed6942d3c06cd92da |