๐ŸŽ“ general purpose python data validator
Python
Fetching latest commitโ€ฆ
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs bump to 1.1 Oct 16, 2016
validictory
.coveragerc
.gitignore
.travis.yml
AUTHORS.txt
LICENSE.txt
MANIFEST.in
README.rst
setup.cfg
setup.py
tox.ini

README.rst

validictory

https://travis-ci.org/jamesturk/validictory.svg?branch=master https://coveralls.io/repos/jamesturk/validictory/badge.png?branch=master Documentation Status

A general purpose Python data validator.

Works with Python 2.7 and Python 3.3+

Schema format based on JSON Schema Proposal (http://json-schema.org)

Contains code derived from jsonschema, by Ian Lewis and Yusuke Muraoka.

Usage

JSON documents and schema must first be loaded into a Python dictionary type before it can be validated.

Parsing a simple JSON document:

>>> import validictory
>>>
>>> validictory.validate("simplejson", {"type":"string"})

Parsing a more complex JSON document:

>>> import simplejson
>>> import validictory
>>>
>>> data = simplejson.loads('["foo", {"bar":["baz", null, 1.0, 2]}]')
>>> schema = {
...   "type":"array",
...   "items":[
...     {"type":"string"},
...     {"type":"object",
...      "properties":{
...        "bar":{
...          "items":[
...            {"type":"string"},
...            {"type":"any"},
...            {"type":"number"},
...            {"type":"integer"}
...          ]
...        }
...      }
...    }
...   ]
... }
>>> validictory.validate(data,schema)

Catch ValueErrors to handle validation issues:

>>> import validictory
>>>
>>> try:
...     validictory.validate("simplejson", {"type":"string","minLength":15})
... except ValueError, error:
...     print error
...
Length of value 'simplejson' for field '_data' must be greater than or equal to 15

You can read more in the official documentation at Read the Docs.