Metadata-Version: 1.1
Name: kuvalda
Version: 0.1.0
Summary: Damn Simple Validation Kit.
Home-page: https://github.com/little-arhat/kuvalda
Author: Roma Sokolov
Author-email: sokolov.r.v@gmail.com
License: MIT
Description: Kuvalda -- Damn Simple Validation Kit
        =====================================
        
        About
        -----
        
        Validate dict-like object against schema, using just callables.
        
        Features
        --------
        
        - Allows validating and sanitizing dicts using any callables
        - Provides several useful helpers
        - Easy to use -- no class-based boilerplate!
        
        API
        ---
        
        ``validate`` function takes any mapping as data and another mapping as scheme and check data against scheme. It returns list of errors.
        
        ``sanitize`` function takes any mapping as data and another mapping as scheme and converts data according to schema definition.
        
        For more info -- see tests.
        
        Examples
        --------
        
        Several schemes:
        
        ::
        
            schema = {
                'key1': str,
                'key2': int,
                'key3': int,
            }
        
            schema1 = {
                'key1': kuvalda.list_of(int),
                'key2': kuvalda.list_of(kuvalda.list_of(int))
            }
        
            schema2 = {
               'section1': {
                   'key1': str,
                   'key2': int
                },
                'section2': kuvalda.mapping(str, int),
                'key1': kuvalda.kind_of(bool)
            }
        
            schema3 = {
                'key1': int,
                'key2': kuvalda.default('oh, my'),
                'key3': kuvalda.optional(int),
                'key4': kuvalda.optional(kuvalda.list_of(int)),
                'key5': kuvalda.compose(kuvalda.default(42), int)
            }
        
        
        Install
        -------
        
        ~/yourvirtualenv/python setup.py install
        
        pip install kuvalda
        
        License
        -------
        
        The MIT License, in LICENSE file.
        
Platform: UNKNOWN
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
