All Projects → pyeve → Cerberus

pyeve / Cerberus

Licence: isc
Lightweight, extensible data validation library for Python

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Cerberus

pyvaru
Rule based data validation library for python 3.
Stars: ✭ 17 (-99.36%)
Mutual labels:  data-validation
Openapi Cop
A proxy that validates responses and requests against an OpenAPI document.
Stars: ✭ 338 (-87.2%)
Mutual labels:  data-validation
Saul
Data validation and conformation library for Elixir.
Stars: ✭ 62 (-97.65%)
Mutual labels:  data-validation
validation-components
A collection of common validation predicates for ValidationToolkit framework
Stars: ✭ 26 (-99.02%)
Mutual labels:  data-validation
Validus
A dead simple Python string validation library.
Stars: ✭ 257 (-90.27%)
Mutual labels:  data-validation
Pointblank
Data validation and organization of metadata for data frames and database tables
Stars: ✭ 480 (-81.82%)
Mutual labels:  data-validation
check-engine
Data validation library for PySpark 3.0.0
Stars: ✭ 29 (-98.9%)
Mutual labels:  data-validation
Typical
Typical: Fast, simple, & correct data-validation using Python 3 typing.
Stars: ✭ 111 (-95.8%)
Mutual labels:  data-validation
Laravel Recaptcha
Google ReCaptcha package for Laravel
Stars: ✭ 273 (-89.66%)
Mutual labels:  data-validation
Dry Validation
Validation library with type-safe schemas and rules
Stars: ✭ 1,087 (-58.83%)
Mutual labels:  data-validation
changeset
(unreleased) Data validation with first-class and first-order labels in OCaml
Stars: ✭ 28 (-98.94%)
Mutual labels:  data-validation
validada
Another library for defensive data analysis.
Stars: ✭ 29 (-98.9%)
Mutual labels:  data-validation
Pandera
A light-weight, flexible, and expressive pandas data validation library
Stars: ✭ 506 (-80.83%)
Mutual labels:  data-validation
form-binder-java
Java port of form-binder, a micro data binding and validating framework
Stars: ✭ 29 (-98.9%)
Mutual labels:  data-validation
Passable
Declarative data validations.
Stars: ✭ 93 (-96.48%)
Mutual labels:  data-validation
deepchecks
Test Suites for Validating ML Models & Data. Deepchecks is a Python package for comprehensively validating your machine learning models and data with minimal effort.
Stars: ✭ 1,595 (-39.58%)
Mutual labels:  data-validation
Xtypejs
Elegant, highly efficient data validation for JavaScript.
Stars: ✭ 357 (-86.48%)
Mutual labels:  data-validation
Rdfunit
An RDF Unit Testing Suite
Stars: ✭ 117 (-95.57%)
Mutual labels:  data-validation
React Jsonschema Form
A React component for building Web forms from JSON Schema.
Stars: ✭ 10,870 (+311.74%)
Mutual labels:  data-validation
Pywhip
💂‍♂️ Python package to validate data against whip specifications
Stars: ✭ 5 (-99.81%)
Mutual labels:  data-validation

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].