Metadata-Version: 2.1
Name: ValidX
Version: 0.6.1
Summary: fast, powerful, and flexible validator with sane syntax
Home-page: https://github.com/Cottonwood-Technology/ValidX
Author: Cottonwood Technology
Author-email: info@cottonwood.tech
License: BSD
Keywords: validator validation validate schema
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Cython
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy


ValidX
======

..  image:: https://travis-ci.com/Cottonwood-Technology/ValidX.svg?branch=master
    :target: https://travis-ci.com/Cottonwood-Technology/ValidX

..  image:: https://badge.fury.io/py/ValidX.svg
    :target: https://badge.fury.io/py/ValidX

..  image:: https://readthedocs.org/projects/validx/badge/?version=latest
    :target: https://validx.readthedocs.io/en/latest/?badge=latest

ValidX is fast_, powerful, and flexible validator with sane syntax.

..  code-block:: python

    from validx import Dict, Str

    schema = Dict({"message": Str()})
    data = {"message": "ValidX is cool!"}

    print(schema(data))

::

    {'message': 'ValidX is cool!'}


The full documentation is available at `Read the Docs`_.

.. _fast: https://validx.readthedocs.io/en/latest/benchmarks.html
.. _Read the Docs: https://validx.readthedocs.io/en/latest/


Changes
=======

0.6.1
-----

*   Fixed type declarations for ``Validator.clone()`` method.


0.6
---

*   Added Python 3.8 into test matrix.
*   Made validators immutable.
*   Added contracts checks on validator initialization.
*   Added new simplified syntax for cloning validators.
*   Got rid of global state within ``LazyRef`` validator.
    It now acts like a pure function.
*   Fixed raising of ambiguous ``MinLengthError`` on ``List`` and ``Dict`` validation.



0.5.1
-----

*   Fixed type declarations. Again. One does not simply make mypy happy.


0.5
---

*   Removed confusing nullable check from ``Any`` validator.
*   Fixed type declarations.


0.4
---

*   Fixed library objects pickling.
*   Fixed checking of length within ``List`` validator.


0.3
---

*   Fixed handling of default values and length validation within ``Dict`` validator.


0.2
---

*   Added support of timezones into ``Date`` and ``Datetime`` validators.
*   Added support of custom parsers into ``Date``, ``Time``, and ``Datetime`` validators.
*   Added ``Type`` validator for custom types.


0.1
---

*   Initial release.


