Cerberus is a lightweight and extensible data validation library for Python.
>>> v = Validator({'name': {'type': 'string'}})
>>> v.validate({'name': 'john doe'})
True
Features
Cerberus provides type checking and other base functionality out of the box and is designed to be non-blocking and easily and widely extensible, allowing for custom validation. It has no dependencies, but has the potential to become yours.
Versioning & Interpreter support
Starting with Cerberus 1.2, it is maintained according to semantic versioning. So, a major release sheds off the old and defines a space for the new, minor releases ship further new features and improvements (you know the drill, new bugs are inevitable too), and micro releases polish a definite amount of features to glory.
We intend to test Cerberus against all CPython interpreters at least until half a year after their end of life and against the most recent PyPy interpreter as a requirement for a release. If you still need to use it with a potential security hole in your setup, it should most probably work with the latest minor version branch from the time when the interpreter was still tested. Subsequent minor versions have good chances as well. In any case, you are advised to run the contributed test suite on your target system.
Documentation
Complete documentation is available at http://docs.python-cerberus.org
Installation
Cerberus is on PyPI, so all you need to do is:
$ pip install cerberus
Testing
Just run:
$ python setup.py 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
Contributing
Please see the Contribution Guidelines.
Copyright
Cerberus is an open source project by Nicola Iarocci. See the license file for more information.
Release files for Cerberus 1.3.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cerberus-1.3.8.tar.gz | 29.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cerberus-1.3.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 60.2 kB
Release files / cerberus-1.3.8.tar.gz
| Download URL | cerberus-1.3.8.tar.gz |
|---|---|
| Size | 29.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
579554887ffd189226774b87570f4a76db75cf0efcbaffcacd5e98b8ee877f61
|
|
BLAKE2b-256 checksum How to use checksums |
7acf845d32e330e49e34f1a22dc44868750e75485d7c08c07d37795bcf0a780e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 6, 2025.
Transparency logRelease files / cerberus-1.3.8-py3-none-any.whl
| Download URL | cerberus-1.3.8-py3-none-any.whl |
|---|---|
| Size | 30.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
46c029e3e2a4735408ed36bec14ef2cbf3e50d8ebe47fb34ee1e54b2da814df2
|
|
BLAKE2b-256 checksum How to use checksums |
a100ff53f3a4d51e64e9137ce2408a43edf18fec96eebb61f87a6598578fa563
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Nov 6, 2025.
Transparency log