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.8.tar.gz (29.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cerberus-1.3.8-py3-none-any.whl (30.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for cerberus-1.3.8.tar.gz
Algorithm Hash digest
SHA256 579554887ffd189226774b87570f4a76db75cf0efcbaffcacd5e98b8ee877f61
MD5 360d4b1c3d07acedc2d01066e9fa49d9
BLAKE2b-256 7acf845d32e330e49e34f1a22dc44868750e75485d7c08c07d37795bcf0a780e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cerberus-1.3.8.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.8-py3-none-any.whl.

File metadata

  • Download URL: cerberus-1.3.8-py3-none-any.whl
  • Upload date:
  • Size: 30.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cerberus-1.3.8-py3-none-any.whl
Algorithm Hash digest
SHA256 46c029e3e2a4735408ed36bec14ef2cbf3e50d8ebe47fb34ee1e54b2da814df2
MD5 c988771b0ece36fe3166418ee5e30d23
BLAKE2b-256 a100ff53f3a4d51e64e9137ce2408a43edf18fec96eebb61f87a6598578fa563

See more details on using hashes here.

Provenance

The following attestation bundles were made for cerberus-1.3.8-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 Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page