Welcome to Cerberus¶
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 powerful yet simple and lightweight data validation functionality out of the box and is designed to be easily extensible, allowing for custom validation. It has no dependencies and is thoroughly tested from Python 2.6 up to 3.5, PyPy and PyPy3.
At a Glance¶
You define a validation schema and pass it to an instance of the
Validator
class:
>>> schema = {'name': {'type': 'string'}}
>>> v = Validator(schema)
Then you simply invoke the 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¶
- Installation
- Usage
- Validation Schemas
- Validation Rules
- Normalization Rules
- Errors & Error Handling
- Extending
- Custom Rules
- Custom Data Types
- Custom Validators
- Custom Coercers
- Custom Default Setters
- Limitations
- Instantiating Custom Validators
- Relevant Validator-attributes
- Contributing
- API
- FAQ
- Changelog
- Upgrading to Cerberus 1.0
- Authors
- Contact
- License
Copyright Notice¶
Cerberus is an open source project by Nicola Iarocci. See the original LICENSE for more information.