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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

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