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
File details
Details for the file vutils-validator-0.2.0.tar.gz
.
File metadata
- Download URL: vutils-validator-0.2.0.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ed287c48572fb28c2effa415bf6fbbfd2adb3ea6c791071d502e077819e76f9 |
|
MD5 | 0e6071e8304658f473a828a51175389a |
|
BLAKE2b-256 | ff5b89242aaf94e6162c0098d5d814f1fcf3dbb664cbd8ef97d614b74ff9966a |
File details
Details for the file vutils_validator-0.2.0-py2.py3-none-any.whl
.
File metadata
- Download URL: vutils_validator-0.2.0-py2.py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2461a8d5960bfa9904ffb42f9205dae494c9c697b76700dcd041cd6598a84eb0 |
|
MD5 | f29b795f579fa77fd75ac3d406943ba5 |
|
BLAKE2b-256 | f44380f35aaf6523a6d64b092d48bde13f35f383a341d41ed6942d3c06cd92da |