covador


Namecovador JSON
Version 0.10.2 PyPI version JSON
download
home_pagehttps://github.com/baverman/covador/
SummaryPython data validation with web in-mind
upload_time2023-09-13 11:36:23
maintainer
docs_urlNone
authorAnton Bobrov
requires_python
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            covador
=======

|travis| |coverage| |pyver|

.. |travis| image:: https://travis-ci.org/baverman/covador.svg?branch=master
   :target: https://travis-ci.org/baverman/covador

.. |coverage| image:: https://img.shields.io/badge/coverage-100%25-brightgreen.svg

.. |pyver| image:: https://img.shields.io/badge/python-2.6%2C_2.7%2C_3.4%2C_3.5%2C_3.6%2C_3.7%2C_3.8%2C_pypy-blue.svg


Validation library for processing http endpoint arguments.

.. code:: python

    from flask import Flask

    from covador import split, opt
    from covador.flask import query_string

    app = Flask(__name__)

    @app.route('/')
    @query_string(foo=opt(split(int), []))
    def csv_argument(foo):
        return repr(foo)

    # GET /?foo=1,2,3 -> [1, 2, 3]

    if __name__ == '__main__':
        app.run()


* Support for flask(0.x, 1.0.x, 1.1.x), django(1.x, 2.x), aiohttp(2.x, 3.x),
  tornado(3.x, 4.x, 5.x, 6.x) and sanic(0.x, 18.x, 19.x).
* Simple creating of custom ``query_string``/``form``/``params``/``json_body``/``args`` wrappers.
* Multi dict support via item ``multi`` param.
* Multi dict keys support via item ``src`` param.
* Simple interface for custom validators/processors it's just a callable.
* Maps, typed Maps, Lists, Tuples, Enums.
* Validation chains: ``opt(default=[]) | split(separator=' ') | List(int) | (lambda it: it[:10])``
  or more concise ``opt(split(int, separator=' '), []) | operator.itemgetter(slice(10))`` —
  an optional argument of space separated integers and we need top 10 items from it and it
  is empty by default.
* Literal schema: ``schema(foo=[{'boo': int}])``, validates ``{'foo': [{'boo': 10}, {'boo': 20}]}``.
* Bytes/unicode aware.



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/baverman/covador/",
    "name": "covador",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "",
    "author": "Anton Bobrov",
    "author_email": "baverman@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/c9/42/c25cfb7e2f053a97741f4bbc5c7d5503e97043fd36626f88e7817a14d471/covador-0.10.2.tar.gz",
    "platform": "any",
    "description": "covador\n=======\n\n|travis| |coverage| |pyver|\n\n.. |travis| image:: https://travis-ci.org/baverman/covador.svg?branch=master\n   :target: https://travis-ci.org/baverman/covador\n\n.. |coverage| image:: https://img.shields.io/badge/coverage-100%25-brightgreen.svg\n\n.. |pyver| image:: https://img.shields.io/badge/python-2.6%2C_2.7%2C_3.4%2C_3.5%2C_3.6%2C_3.7%2C_3.8%2C_pypy-blue.svg\n\n\nValidation library for processing http endpoint arguments.\n\n.. code:: python\n\n    from flask import Flask\n\n    from covador import split, opt\n    from covador.flask import query_string\n\n    app = Flask(__name__)\n\n    @app.route('/')\n    @query_string(foo=opt(split(int), []))\n    def csv_argument(foo):\n        return repr(foo)\n\n    # GET /?foo=1,2,3 -> [1, 2, 3]\n\n    if __name__ == '__main__':\n        app.run()\n\n\n* Support for flask(0.x, 1.0.x, 1.1.x), django(1.x, 2.x), aiohttp(2.x, 3.x),\n  tornado(3.x, 4.x, 5.x, 6.x) and sanic(0.x, 18.x, 19.x).\n* Simple creating of custom ``query_string``/``form``/``params``/``json_body``/``args`` wrappers.\n* Multi dict support via item ``multi`` param.\n* Multi dict keys support via item ``src`` param.\n* Simple interface for custom validators/processors it's just a callable.\n* Maps, typed Maps, Lists, Tuples, Enums.\n* Validation chains: ``opt(default=[]) | split(separator=' ') | List(int) | (lambda it: it[:10])``\n  or more concise ``opt(split(int, separator=' '), []) | operator.itemgetter(slice(10))`` \u2014\n  an optional argument of space separated integers and we need top 10 items from it and it\n  is empty by default.\n* Literal schema: ``schema(foo=[{'boo': int}])``, validates ``{'foo': [{'boo': 10}, {'boo': 20}]}``.\n* Bytes/unicode aware.\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python data validation with web in-mind",
    "version": "0.10.2",
    "project_urls": {
        "Homepage": "https://github.com/baverman/covador/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c942c25cfb7e2f053a97741f4bbc5c7d5503e97043fd36626f88e7817a14d471",
                "md5": "743e5134c8f3644441bbf8dfc304bf20",
                "sha256": "31103723586e5e9edf171ae7b882567246efa66405a61f7b07bab571f7462458"
            },
            "downloads": -1,
            "filename": "covador-0.10.2.tar.gz",
            "has_sig": false,
            "md5_digest": "743e5134c8f3644441bbf8dfc304bf20",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 14350,
            "upload_time": "2023-09-13T11:36:23",
            "upload_time_iso_8601": "2023-09-13T11:36:23.235116Z",
            "url": "https://files.pythonhosted.org/packages/c9/42/c25cfb7e2f053a97741f4bbc5c7d5503e97043fd36626f88e7817a14d471/covador-0.10.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-13 11:36:23",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "baverman",
    "github_project": "covador",
    "travis_ci": true,
    "coveralls": false,
    "github_actions": false,
    "lcname": "covador"
}
        
Elapsed time: 0.12353s