Skip to main content

Lightweight, extensible schema and data validation tool for Pythondictionaries.

Project description

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

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cerberus-1.3.7.tar.gz (29.7 kB view details)

Uploaded Source

Built Distribution

Cerberus-1.3.7-py3-none-any.whl (30.5 kB view details)

Uploaded Python 3

File details

Details for the file cerberus-1.3.7.tar.gz.

File metadata

  • Download URL: cerberus-1.3.7.tar.gz
  • Upload date:
  • Size: 29.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for cerberus-1.3.7.tar.gz
Algorithm Hash digest
SHA256 ecf249665400a0b7a9d5e4ee1ffc234fd5d003186d3e1904f70bc14038642c13
MD5 0d76e836f78ef8925cf77c7e1e69a76a
BLAKE2b-256 08926d861524d97a2c4913816309ca12afe313b32c8efc3ec641de98b890834b

See more details on using hashes here.

Provenance

The following attestation bundles were made for cerberus-1.3.7.tar.gz:

Publisher: publish.yml on pyeve/cerberus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file Cerberus-1.3.7-py3-none-any.whl.

File metadata

  • Download URL: Cerberus-1.3.7-py3-none-any.whl
  • Upload date:
  • Size: 30.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for Cerberus-1.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 180e7d1fa1a5765cbff7b5c716e52fddddfab859dc8f625b0d563ace4b7a7ab3
MD5 9c4f60a947a1f167bbf1e2e9d5373ba3
BLAKE2b-256 15cee3abf3fd04da28978eefb06ea906549f20f23f2ec6df8873ede6b62c8a8c

See more details on using hashes here.

Provenance

The following attestation bundles were made for Cerberus-1.3.7-py3-none-any.whl:

Publisher: publish.yml on pyeve/cerberus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page