Lightweight, extensible data validation library for Python
Python Other
Clone or download
Permalink
Failed to load latest commit information.
.github Support pre-commit and tox linting Jun 22, 2018
artwork Artwork (public domain) Jul 1, 2015
cerberus Adds flake8 to linting again Aug 2, 2018
docs Some fixes of the docs Jul 18, 2018
.dockerignore Adjusts tests w/ Docker to pre-commit's needs Aug 2, 2018
.gitignore gitignore: add .eggs directory Jul 7, 2018
.linting-config.yaml Removes unnecessary arguments for black Aug 2, 2018
.pre-commit-config.yaml Removes unnecessary arguments for black Aug 2, 2018
.readthedocs.yml Builds the docs with Python 3.6 on rtd Mar 28, 2018
.travis.yml Lumps linting into the py36 environment that runs on Travis Jul 5, 2018
AUTHORS Luke Bechtel Aug 2, 2018
CHANGES.rst Changelog for #429 Aug 2, 2018
CONTRIBUTING.rst Support pre-commit and tox linting Jun 22, 2018
Dockerfile Adjusts tests w/ Docker to pre-commit's needs Aug 2, 2018
LICENSE Bump copyright to 2016 for both LICENSE and cerberus.py Jul 3, 2016
MANIFEST.in Adds ROADMAP.md. Apr 1, 2018
README.rst Fix `semantical versioning` -> `semantic versioning` Aug 2, 2018
ROADMAP.md Support pre-commit and tox linting Jun 22, 2018
UPGRADING.rst Some fixes of the docs Jul 18, 2018
pytest.ini Adds testing docs to the suite and improves testing with Docker Jul 14, 2015
requirements-docs.txt Uses sphinx.ext.extlinks for hyperlinking issues in the tracker Mar 28, 2018
run-docker-tests Simplifies the tests with Docker by using a volume for tox environments Feb 8, 2018
setup.cfg Updates setup.py to run with pytest Oct 5, 2016
setup.py Reformat code to match Black code-style Jun 22, 2018
tox.ini Adds flake8 to linting again Aug 2, 2018

README.rst

Cerberus Latest version on PyPI

Build status Python versions Black code style

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

The Cerberus 1.x versions can be used with Python 2 while version 2.0 and later rely on Python 3 features.

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 now 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.

Funding

Cerberus is an open source, collaboratively funded project. If you run a business and are using Cerberus in a revenue-generating product, it would make business sense to sponsor its development: it ensures the project that your product relies on stays healthy and actively maintained. Individual users are also welcome to make a recurring pledge or a one time donation if Cerberus has helped you in your work or personal projects.

Every single sign-up makes a significant impact towards making Eve possible. To learn more, check out our funding page.

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.