Cerberus


NameCerberus JSON
Version 1.3.5 PyPI version JSON
download
home_page
SummaryLightweight, extensible schema and data validation tool for Pythondictionaries.
upload_time2023-08-09 12:51:10
maintainer
docs_urlNone
author
requires_python
licenseISC License Copyright (c) 2012-2016 Nicola Iarocci. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
keywords validation schema dictionaries documents normalization
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Cerberus |latest-version|
=========================
|python-support| |black|

Cerberus is a lightweight and extensible data validation library for Python.

.. code-block:: 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
--------------------------------

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 know 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:

.. code-block:: console

    $ pip install cerberus


Testing
-------

Just run:

.. code-block:: console

    $ 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:

.. code-block:: console

    $ 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.


.. _Contribution Guidelines: https://github.com/pyeve/cerberus/blob/1.3.x/CONTRIBUTING.rst
.. _end of life: https://devguide.python.org/#status-of-python-branches
.. _funding page: http://docs.python-cerberus.org/en/latest/funding.html
.. _license: https://github.com/pyeve/cerberus/blob/1.3.x/LICENSE
.. _Nicola Iarocci: https://nicolaiarocci.com/
.. _PyPI: https://pypi.python.org/
.. _semantic versioning: https://semver.org/

.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
   :alt: Black code style
   :target: https://black.readthedocs.io/
.. |latest-version| image:: https://img.shields.io/pypi/v/cerberus.svg
   :alt: Latest version on PyPI
   :target: https://pypi.org/project/cerberus
.. |license| image:: https://img.shields.io/pypi/l/cerberus.svg
   :alt: Software license
   :target: https://github.com/pyeve/cerberus/blob/1.3.x/LICENSE
.. |python-support| image:: https://img.shields.io/pypi/pyversions/cerberus.svg
   :target: https://pypi.python.org/pypi/cerberus
   :alt: Python versions

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "Cerberus",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "Frank Sachsenheim <funkyfuture@riseup.net>",
    "keywords": "validation,schema,dictionaries,documents,normalization",
    "author": "",
    "author_email": "Nicola Iarocci <nicola@nicolaiarocci.com>",
    "download_url": "https://files.pythonhosted.org/packages/07/20/3ec65289ab0ccf5f41d38d103343f5b609263944238e299598aeba684a82/Cerberus-1.3.5.tar.gz",
    "platform": null,
    "description": "Cerberus |latest-version|\n=========================\n|python-support| |black|\n\nCerberus is a lightweight and extensible data validation library for Python.\n\n.. code-block:: python\n\n    >>> v = Validator({'name': {'type': 'string'}})\n    >>> v.validate({'name': 'john doe'})\n    True\n\n\nFeatures\n--------\n\nCerberus provides type checking and other base functionality out of the box and\nis designed to be non-blocking and easily and widely extensible, allowing for\ncustom validation. It has no dependencies, but has the potential to become\nyours.\n\n\nVersioning & Interpreter support\n--------------------------------\n\nStarting with Cerberus 1.2, it is maintained according to\n`semantic versioning`_. So, a major release sheds off the old and defines a\nspace for the new, minor releases ship further new features and improvements\n(you know the drill, new bugs are inevitable too), and micro releases polish a\ndefinite amount of features to glory.\n\nWe intend to test Cerberus against all CPython interpreters at least until half\na year after their `end of life`_ and against the most recent PyPy interpreter\nas a requirement for a release. If you still need to use it with a potential\nsecurity hole in your setup, it should most probably work with the latest\nminor version branch from the time when the interpreter was still tested.\nSubsequent minor versions have good chances as well. In any case, you are\nadvised to run the contributed test suite on your target system.\n\n\nFunding\n-------\n\nCerberus is an open source, collaboratively funded project. If you run a\nbusiness and are using Cerberus in a revenue-generating product, it would\nmake business sense to sponsor its development: it ensures the project that\nyour product relies on stays healthy and actively maintained. Individual users\nare also welcome to make a recurring pledge or a one time donation if Cerberus\nhas helped you in your work or personal projects.\n\nEvery single sign-up makes a significant impact towards making Eve possible. To\nlearn more, check out our `funding page`_.\n\n\nDocumentation\n-------------\n\nComplete documentation is available at http://docs.python-cerberus.org\n\n\nInstallation\n------------\n\nCerberus is on PyPI_, so all you need to do is:\n\n.. code-block:: console\n\n    $ pip install cerberus\n\n\nTesting\n-------\n\nJust run:\n\n.. code-block:: console\n\n    $ python setup.py test\n\nOr you can use tox to run the tests under all supported Python versions. Make\nsure the required python versions are installed and run:\n\n.. code-block:: console\n\n    $ pip install tox  # first time only\n    $ tox\n\n\nContributing\n------------\n\nPlease see the `Contribution Guidelines`_.\n\n\nCopyright\n---------\n\nCerberus is an open source project by `Nicola Iarocci`_. See the license_ file\nfor more information.\n\n\n.. _Contribution Guidelines: https://github.com/pyeve/cerberus/blob/1.3.x/CONTRIBUTING.rst\n.. _end of life: https://devguide.python.org/#status-of-python-branches\n.. _funding page: http://docs.python-cerberus.org/en/latest/funding.html\n.. _license: https://github.com/pyeve/cerberus/blob/1.3.x/LICENSE\n.. _Nicola Iarocci: https://nicolaiarocci.com/\n.. _PyPI: https://pypi.python.org/\n.. _semantic versioning: https://semver.org/\n\n.. |black| image:: https://img.shields.io/badge/code%20style-black-000000.svg\n   :alt: Black code style\n   :target: https://black.readthedocs.io/\n.. |latest-version| image:: https://img.shields.io/pypi/v/cerberus.svg\n   :alt: Latest version on PyPI\n   :target: https://pypi.org/project/cerberus\n.. |license| image:: https://img.shields.io/pypi/l/cerberus.svg\n   :alt: Software license\n   :target: https://github.com/pyeve/cerberus/blob/1.3.x/LICENSE\n.. |python-support| image:: https://img.shields.io/pypi/pyversions/cerberus.svg\n   :target: https://pypi.python.org/pypi/cerberus\n   :alt: Python versions\n",
    "bugtrack_url": null,
    "license": "ISC License  Copyright (c) 2012-2016 Nicola Iarocci.  Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.  THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ",
    "summary": "Lightweight, extensible schema and data validation tool for Pythondictionaries.",
    "version": "1.3.5",
    "project_urls": {
        "Documentation": "http://docs.python-cerberus.org",
        "Repository": "https://github.com/pyeve/cerberus"
    },
    "split_keywords": [
        "validation",
        "schema",
        "dictionaries",
        "documents",
        "normalization"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fb17335e0a4daf5475ada5eaa74735f765cc088ace306fbfdd2f4c2285320cc3",
                "md5": "01b9b2415842b6f577c57c4e81752cc3",
                "sha256": "7649a5815024d18eb7c6aa5e7a95355c649a53aacfc9b050e9d0bf6bfa2af372"
            },
            "downloads": -1,
            "filename": "Cerberus-1.3.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "01b9b2415842b6f577c57c4e81752cc3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 30779,
            "upload_time": "2023-08-09T12:51:08",
            "upload_time_iso_8601": "2023-08-09T12:51:08.878015Z",
            "url": "https://files.pythonhosted.org/packages/fb/17/335e0a4daf5475ada5eaa74735f765cc088ace306fbfdd2f4c2285320cc3/Cerberus-1.3.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "07203ec65289ab0ccf5f41d38d103343f5b609263944238e299598aeba684a82",
                "md5": "89b0d86218b601fec08296cfd55f0a64",
                "sha256": "81011e10266ef71b6ec6d50e60171258a5b134d69f8fb387d16e4936d0d47642"
            },
            "downloads": -1,
            "filename": "Cerberus-1.3.5.tar.gz",
            "has_sig": false,
            "md5_digest": "89b0d86218b601fec08296cfd55f0a64",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 29898,
            "upload_time": "2023-08-09T12:51:10",
            "upload_time_iso_8601": "2023-08-09T12:51:10.904089Z",
            "url": "https://files.pythonhosted.org/packages/07/20/3ec65289ab0ccf5f41d38d103343f5b609263944238e299598aeba684a82/Cerberus-1.3.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-08-09 12:51:10",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "pyeve",
    "github_project": "cerberus",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "tox": true,
    "lcname": "cerberus"
}
        
Elapsed time: 0.11878s