Skip to main content

Data validation utilities

Project description

Coverage Status CodeQL

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 if value is empty.
  • verify_matches(value, regex, message="") fails if value does not match regular expression regex. Since many regular expressions describe entities that have a name (identifier, number, email address, etc.) the default error message can be overridden by message argument.
  • verify_email(value) fails if value 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

vutils-validator-0.2.0.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

vutils_validator-0.2.0-py2.py3-none-any.whl (8.7 kB view details)

Uploaded Python 2 Python 3

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

Hashes for vutils-validator-0.2.0.tar.gz
Algorithm Hash digest
SHA256 3ed287c48572fb28c2effa415bf6fbbfd2adb3ea6c791071d502e077819e76f9
MD5 0e6071e8304658f473a828a51175389a
BLAKE2b-256 ff5b89242aaf94e6162c0098d5d814f1fcf3dbb664cbd8ef97d614b74ff9966a

See more details on using hashes here.

File details

Details for the file vutils_validator-0.2.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for vutils_validator-0.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2461a8d5960bfa9904ffb42f9205dae494c9c697b76700dcd041cd6598a84eb0
MD5 f29b795f579fa77fd75ac3d406943ba5
BLAKE2b-256 f44380f35aaf6523a6d64b092d48bde13f35f383a341d41ed6942d3c06cd92da

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page