Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
general purpose python data validator
Failed to load latest commit information.
docs 1.0.0
validictory Added a new option 'remove_unknown_properties', which simply removes …
.coveragerc up coverage by ignoring __main__
.gitignore .ropeproject ignore
.travis.yml fix coveralls for validictory
AUTHORS.txt Juan & James to authors
LICENSE.txt update text/metadata add changelog to manifest
README.rst docs badge
setup.cfg add wheel setup update trove


validictory Documentation Status

A general purpose Python data validator.

Works with Python 2.7 and Python 3.3+

Schema format based on JSON Schema Proposal (

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


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.

Something went wrong with that request. Please try again.