Awesome Validation Python Awesome

A curated list of awesome libraries, which implement various validation and/or similar patterns, currently for Python only.

Libraries in Python

Libraries for validating custom data structures.

  • cerberus - Lightweight, extensible data validation library for Python.
  • destructure - Easy declarative schema validation with optional name-binding. Gives Python a switch/case.
  • formencode - A validation library for Python. More here: http://www.formencode.org/en/latest/Validator.html.
  • good - Slim yet handsome validation library.
  • jsonschema - jsonschema is an implementation of JSON Schema for Python (supporting 2.7+ including Python 3).
  • jsontyping - JSON support for named tuples, datetime and other objects, preventing ambiguity via type annotations
  • marshmallow - A lightweight library for converting complex objects to and from simple Python datatypes.
  • obiwan - a function parameter type checker; a json validator
  • ontic - Objects of Knowledge. Ontic provides a pure data object representations that support object-style and dict-style attribute access. In addition, Ontic supports schema definition to aid in the validation and management of Ontic object instances.
  • pilo - Yet another form parser.
  • pydantic - Data validation and settings management using python 3.6 type hinting. Define how data should be in pure, canonical python; validate it with pydantic.
  • pyschemes - PySchemes is a library for validating data structures in Python.
  • pyvaru - Rule based data validation library for python 3.
  • pycomb - A python 3 port of Tcomb, a popular Type checking and DDD library for JavaScript. pycomb provides a means to apply runtime type checking.
  • required - Required is a simple library which allows you to validate dependencies across multiple fields.
  • strictyaml - Type-safe YAML parser and validator.
  • schema - schema is a library for validating Python data structures, such as those obtained from config-files, forms, external services or command-line parsing, converted from JSON/YAML (or something else) to Python data-types.
  • schematics - Python Data Structures for Humans™
  • transmute-core - A web framework-agnostic API and documentation generation platform
  • typeguard - Run-time type checker for Python
  • universal_schema - Universal Schema is a tool which allows you to express your data model once and get its schema represented in many different forms, and to subsequently convert between instances of those representations seamlessly. Its like an ORM designed to easily plug into other ORMS
  • valideer - Lightweight data validation and adaptation Python library.
  • validr - A simple, fast, extensible python library for data validation.
  • voluptuous - Voluptuous, despite the name, is a Python data validation library. It is primarily intended for validating data coming into Python as JSON, YAML, etc.

Other Awesome Lists

List of lists.

Contributing

If you know some project/library that is not listed here, just let me know! Or even better, create a pull request.