{ "info": { "author": "Dmitry Chaplinsky", "author_email": "chaplinsky.dmitry@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "===============================\naiohttp_validate\n===============================\n\n\n.. image:: https://img.shields.io/pypi/v/aiohttp_validate.svg\n :target: https://pypi.python.org/pypi/aiohttp_validate\n\n.. image:: https://img.shields.io/travis/dchaplinsky/aiohttp_validate.svg\n :target: https://travis-ci.org/dchaplinsky/aiohttp_validate\n\n.. image:: https://readthedocs.org/projects/aiohttp-validate/badge/?version=latest\n :target: https://aiohttp-validate.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://pyup.io/repos/github/dchaplinsky/aiohttp_validate/shield.svg\n :target: https://pyup.io/repos/github/dchaplinsky/aiohttp_validate/\n :alt: Updates\n\n\nSimple library that helps you validate your API endpoints requests/responses with jsonschema_. Documentation is also available here at https://aiohttp-validate.readthedocs.io.\n\n\n\nInstallation\n------------\nInstall from PyPI::\n\n pip install aiohttp_validate\n\nUsage\n-----\nComplete example of validation for `text tokenization microservice`_::\n\n from aiohttp_validate import validate\n\n @validate(\n request_schema={\n \"type\": \"object\",\n \"properties\": {\n \"text\": {\"type\": \"string\"},\n },\n \"required\": [\"text\"],\n \"additionalProperties\": False\n },\n response_schema={\n \"type\": \"array\",\n \"items\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"array\",\n \"items\": {\"type\": \"string\"}\n }\n }\n }\n )\n async def tokenize_text_handler(request, *args):\n return tokenize_text(request[\"text\"])\n\nFeatures\n--------\n* The decorator to (optionally) validate the request to your aiohttp endpoint and it's response.\n* Easily integrates with aiohttp_swaggerify_ to automatically document your endpoints with swagger.\n* Validation errors are standardized and can be easily parsed by the clients of your service and also human-readable.\n\n\nDeveloping\n----------\n\nInstall requirement and launch tests::\n\n pip install -r requirements-dev.txt\n py.test\n\n\nCredits\n-------\nThat package is influenced by Tornado-JSON_ written by Hamza Faran \nCode to parse errors is written by `Ruslan Karalkin`_\n\nLicense\n-------\n\n* Free software: MIT license\n\n.. _jsonschema: http://json-schema.org/\n.. _aiohttp_swaggerify: https://github.com/dchaplinsky/aiohttp_swaggerify\n.. _Tornado-JSON: https://github.com/hfaran/Tornado-JSON/\n.. _`Ruslan Karalkin`: https://github.com/rkaralkin\n.. _`text tokenization microservice`: https://github.com/lang-uk/tokenize-ms\n\n\n=======\nHistory\n=======\n\n1.0.0 (2016-12-12)\n------------------\n\n* Better documentation.\n* Updated requirements.\n* Out of alpha!\n\n\n0.1.0 (2016-10-12)\n------------------\n\n* First release on PyPI.\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dchaplinsky/aiohttp_validate", "keywords": "aiohttp_validate", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "aiohttp_validate", "package_url": "https://pypi.org/project/aiohttp_validate/", "platform": "", "project_url": "https://pypi.org/project/aiohttp_validate/", "project_urls": { "Homepage": "https://github.com/dchaplinsky/aiohttp_validate" }, "release_url": "https://pypi.org/project/aiohttp_validate/1.1.0/", "requires_dist": null, "requires_python": "", "summary": "Simple library that helps you validate your API endpoints requests/responses with json schema", "version": "1.1.0" }, "last_serial": 4682850, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "37aa0e5900900bb4d540e27d76a28a9a", "sha256": "a02136a1be17abb4b40bc224d17e6cfe090d1b3159db0c30ff189d6370c25595" }, "downloads": -1, "filename": "aiohttp_validate-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "37aa0e5900900bb4d540e27d76a28a9a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5252, "upload_time": "2016-10-12T00:27:11", "url": "https://files.pythonhosted.org/packages/f2/c5/74c63c873b135c1b7718626b7fb8c7e85d0743f7f3544f6b32efab9a24fd/aiohttp_validate-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0cdaa9d190c0e105a4e9779ec883d492", "sha256": "63467b41bb5c04c74081646b7ae273d33285730d23a05324da30ca5e0a7cceea" }, "downloads": -1, "filename": "aiohttp_validate-0.1.0.tar.gz", "has_sig": false, "md5_digest": "0cdaa9d190c0e105a4e9779ec883d492", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13860, "upload_time": "2016-10-12T00:17:38", "url": "https://files.pythonhosted.org/packages/8e/1a/e37a48626ec6ba04728ff30ead228b3c01d072dc0ab1c072dcbb5148d71c/aiohttp_validate-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "5857c46da3f0206946921bc50ba2f9b8", "sha256": "3703fc2120ee34a1773b21c4d7a77e273df95dfc34b4f7eace73f451d8396f37" }, "downloads": -1, "filename": "aiohttp_validate-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5857c46da3f0206946921bc50ba2f9b8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5218, "upload_time": "2016-10-12T00:27:26", "url": "https://files.pythonhosted.org/packages/d2/2e/6db40535cad5ed59246973ffc7acfe88b5016e53ba4875550b3e7615a811/aiohttp_validate-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "32a20930911ded61dd6592b9e4e3863a", "sha256": "23f8164be7d2735749071fab9fa6ddc83148bc859e8b9eed09783219000b905f" }, "downloads": -1, "filename": "aiohttp_validate-0.1.1.tar.gz", "has_sig": false, "md5_digest": "32a20930911ded61dd6592b9e4e3863a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13776, "upload_time": "2016-10-12T00:27:28", "url": "https://files.pythonhosted.org/packages/6c/4c/3004e8c9b3b00d34ae8df769c755a21516105c51314fe1fe2983159dab73/aiohttp_validate-0.1.1.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "a0524e1e1708f4ab95bfe7be412c9403", "sha256": "756d1d5ad31b45b06afeb56644a8840fd629c8b8178af19642881c6052e6eddb" }, "downloads": -1, "filename": "aiohttp_validate-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a0524e1e1708f4ab95bfe7be412c9403", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6375, "upload_time": "2016-12-12T00:43:37", "url": "https://files.pythonhosted.org/packages/74/fc/dfde4558b3d3d212443169fec68d0880604b0b5a4d48997bb68f37605544/aiohttp_validate-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "732c522c13d618d588dd730990d94a96", "sha256": "a26871ffb9a8a2410db8729fba0881b064cb4682a964cf51de28cffc9fdd25ee" }, "downloads": -1, "filename": "aiohttp_validate-1.0.0.tar.gz", "has_sig": false, "md5_digest": "732c522c13d618d588dd730990d94a96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14882, "upload_time": "2016-12-12T00:43:39", "url": "https://files.pythonhosted.org/packages/8b/6d/1012d5055c97abca00cbbf4fc8ac1b58c6b4671f013eea3708f2db450d34/aiohttp_validate-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "ba5629abcba52b8a3164a14d8fd87ef7", "sha256": "afb6bdca172d83ab7f9f539b3e6c424b1c80ce77bdd20793e5865eb3d83bad5f" }, "downloads": -1, "filename": "aiohttp_validate-1.0.1.tar.gz", "has_sig": false, "md5_digest": "ba5629abcba52b8a3164a14d8fd87ef7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14407, "upload_time": "2018-11-26T18:28:52", "url": "https://files.pythonhosted.org/packages/d0/26/40838d856f0492540ee5bc6c887b79679b3d3729164a0ef3db0e234f856d/aiohttp_validate-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "01cb8ae6c73c0ab831fdd733c06faf72", "sha256": "4e643e35a3ef14e769f5e13480c78821de7450ae921bac1dae646814718242bc" }, "downloads": -1, "filename": "aiohttp_validate-1.1.0.tar.gz", "has_sig": false, "md5_digest": "01cb8ae6c73c0ab831fdd733c06faf72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14605, "upload_time": "2019-01-10T21:48:30", "url": "https://files.pythonhosted.org/packages/a6/32/7527b5b78398b1b9ecca6b7bbc033c71d805523a1af5431d448dafc83ecf/aiohttp_validate-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "01cb8ae6c73c0ab831fdd733c06faf72", "sha256": "4e643e35a3ef14e769f5e13480c78821de7450ae921bac1dae646814718242bc" }, "downloads": -1, "filename": "aiohttp_validate-1.1.0.tar.gz", "has_sig": false, "md5_digest": "01cb8ae6c73c0ab831fdd733c06faf72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14605, "upload_time": "2019-01-10T21:48:30", "url": "https://files.pythonhosted.org/packages/a6/32/7527b5b78398b1b9ecca6b7bbc033c71d805523a1af5431d448dafc83ecf/aiohttp_validate-1.1.0.tar.gz" } ] }