Skip to main content

A library for appling schemas to data structures.

Project description

Schemas for data structures.

Documentation

This README has some basic usage information, but more detailed documentation may be found at ReadTheDocs.

Usage Example

First, install it from PyPI.

pip install validator.py
from validator import Required, Not, Truthy, Blank, Range, Equals, In, validate

# let's say that my dictionary needs to meet the following rules...
rules = {
    "foo": [Required, Equals(123)],
    "bar": [Required, Truthy()],
    "baz": [In(["spam", "eggs", "bacon"])],
    "qux": [Not(Range(1, 100))] # by default, Range is inclusive
}

# then this following dict would pass:
passes = {
    "foo": 123,
    "bar": True, # or a non-empty string, or a non-zero int, etc...
    "baz": "spam",
    "qux": 101
}
print validate(rules, passes)
# (True, {})

# but this one would fail
fails = {
    "foo": 321,
    "bar": False, # or 0, or [], or an empty string, etc...
    "baz": "barf",
    "qux": 99
}
print validate(rules, fails)
# (False,
#  {
#  'foo': ["must be equal to '123'"],
#  'bar': ['must be True-equivalent value'],
#  'baz': ["must be one of ['spam', 'eggs', 'bacon']"],
#  'qux': ['must not fall between 1 and 100']
#  })

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

validator.py-1.3.0.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

validator.py-1.3.0-py2.py3-none-any.whl (8.2 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file validator.py-1.3.0.tar.gz.

File metadata

  • Download URL: validator.py-1.3.0.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.7.1 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/3.7.2

File hashes

Hashes for validator.py-1.3.0.tar.gz
Algorithm Hash digest
SHA256 ab3b631630bcbc9b77735e81f7fd11fb20d31eab32ad74d3cdac2ba6e138037e
MD5 b8a1a74e6e21e304101b9749d6c547d7
BLAKE2b-256 20fb546ac431d08ea860f66ad4862c87f5ef0bc89485100ee63f82faf5480925

See more details on using hashes here.

File details

Details for the file validator.py-1.3.0-py2.py3-none-any.whl.

File metadata

  • Download URL: validator.py-1.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.7.1 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/3.7.2

File hashes

Hashes for validator.py-1.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1bb388c6228e9cea665bd879372e44842baf63dda0751a99989068e4ac61ba21
MD5 d90c49747e26c0716a63971c4989ba16
BLAKE2b-256 b379d6e61f6876be260d1bd17fe58f11a1219196b15bfd67eb0939650e0680c4

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