Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mansam/validator.py
Schemas for data structures.
https://github.com/mansam/validator.py
Last synced: about 2 months ago
JSON representation
Schemas for data structures.
- Host: GitHub
- URL: https://github.com/mansam/validator.py
- Owner: mansam
- License: mit
- Created: 2014-01-15T04:19:00.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2020-12-11T21:38:33.000Z (almost 4 years ago)
- Last Synced: 2024-07-24T21:06:04.750Z (2 months ago)
- Language: Python
- Homepage:
- Size: 735 KB
- Stars: 153
- Watchers: 7
- Forks: 24
- Open Issues: 6
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGES
- License: LICENSE
Awesome Lists containing this project
README
validator.py |Build Status| |PyPI version|
==========================================================Schemas for data structures.
`Documentation `__
---------------------------------------------------------------------------This README has some basic usage information, but more detailed
documentation may be found at
`ReadTheDocs `__.Usage Example
-------------First, install it from PyPI.
::
pip install validator.py
.. code:: python
from validator import Required, Not, Truthy, Blank, Range, Equals, In, validate
# let's say that my dictionary needs to meet the following rules...
rules = {
"foo": [Required, Equals(123)],
"bar": [Required, Truthy()],
"baz": [In(["spam", "eggs", "bacon"])],
"qux": [Not(Range(1, 100))] # by default, Range is inclusive
}# then this following dict would pass:
passes = {
"foo": 123,
"bar": True, # or a non-empty string, or a non-zero int, etc...
"baz": "spam",
"qux": 101
}
print validate(rules, passes)
# (True, {})# but this one would fail
fails = {
"foo": 321,
"bar": False, # or 0, or [], or an empty string, etc...
"baz": "barf",
"qux": 99
}
print validate(rules, fails)
# (False,
# {
# 'foo': ["must be equal to '123'"],
# 'bar': ['must be True-equivalent value'],
# 'baz': ["must be one of ['spam', 'eggs', 'bacon']"],
# 'qux': ['must not fall between 1 and 100']
# }).. |Build Status| image:: https://travis-ci.org/mansam/validator.py.png?branch=master
:target: https://travis-ci.org/mansam/validator.py
.. |PyPI version| image:: https://badge.fury.io/py/validator.py.png
:target: http://badge.fury.io/py/validator.py
.. |Bitdeli Badge| image:: https://d2weczhvl823v0.cloudfront.net/mansam/validator.py/trend.png
:target: https://bitdeli.com/free