Welcome to Cerberus-Sanhe ========================= This is folk project of https://github.com/nicolaiarocci/cerberus, Sanhe add support for ``bytes``, ``date`` types, and add rules for ``maxsize``, ``minsize``, ``before``, ``after``. Cerberus is a lightweight and extensible data validation library for Python. ``CERBERUS``, n. The watch-dog of Hades, whose duty it was to guard the entrance; everybody, sooner or later, had to go there, and nobody wanted to carry off the entrance. - *Ambrose Bierce, The Devil's Dictionary* Cerberus provides type checking and other base functionality out of the box and is designed to be easily extensible, allowing for easy custom validation. It has no dependencies and is thoroughly tested under Python 2.6, Python 2.7, Python 3.3, Python 3.4, PyPy and PyPy3. At a Glance ----------- You define a validation schema and pass it to an instance of the :class:`~cerberus.Validator` class: :: >>> schema = {'name': {'type': 'string'}} >>> v = Validator(schema) Then you simply invoke the :func:`~cerberus.Validator.validate` to validate a dictionary against the schema. If validation succeeds, ``True`` is returned: :: >>> document = {'name': 'john doe'} >>> v.validate(document) True Table of Contents ----------------- .. toctree:: Installing Usage Extending Contributing API FAQ changelog authors contact license Copyright Notice ---------------- Cerberus is an open source project by `Nicola Iarocci `_. See the original `LICENSE `_ for more information.