Lightweight, extensible data validation library for Python
Python Shell


Cerberus Latest version on PyPI

Build status Python versions

Cerberus is a lightweight and extensible data validation library for Python.

>>> v = Validator({'name': {'type': 'string'}})
>>> v.validate({'name': 'john doe'})


Cerberus provides type checking and other base functionality out of the box and is designed to be non-blocking and easily extensible, allowing for custom validation. It has no dependancies and is thoroughly tested under Python 2.6, Python 2.7, Python 3.3, Python 3.4, Python 3.5, PyPy and PyPy3.


Complete documentation is available at


Cerberus is on PyPI so all you need is:

$ pip install cerberus


Just run:

$ python test

Or you can use tox to run the tests under all supported Python versions. Make sure the required python versions are installed and run:

$ pip install tox  # first time only
$ tox


Please see the Contribution Guidelines.


Cerberus is an open source project by Nicola Iarocci. See the original LICENSE for more informations.