{ "info": { "author": "Thiago Marini", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "Json Payload Validator\n======================\n\n|CircleCI| |PyPI pyversions| |PyPI version shields.io| |PyPI license|\n\n.. |CircleCI| image:: https://circleci.com/gh/thiagomarini/json-payload-validator.svg?style=svg\n :target: https://circleci.com/gh/thiagomarini/json-payload-validator\n\n.. |PyPI version shields.io| image:: https://img.shields.io/pypi/v/json_payload_validator.svg\n :target: https://pypi.python.org/pypi/json_payload_validator/\n\n.. |PyPI license| image:: https://img.shields.io/pypi/l/json_payload_validator.svg\n :target: https://pypi.python.org/pypi/json_payload_validator/\n\n.. |PyPI pyversions| image:: https://img.shields.io/pypi/pyversions/json_payload_validator.svg\n :target: https://pypi.python.org/pypi/json_payload_validator/\n\nLittle Python package that formats validation error messages from `jsonschema\n`_.\nYou should use this package if you want a stand alone json validator decoupled from any framework.\n\nReason of being\n---------------\n\njsonschema is really cool but its validation error messages suck as they're meant for developers, not end users.\nSo if you have an API that uses jsonschema to validate json payloads and want to return nicer error messages to your\nend users you can use this package :)\n\nHow it works\n------------\n\n3 simple rules:\n\n- If you don't send a required property in the payload you'll get the message ``'foo' is a required property``.\n- If validation fails the validation rule will be returned ``Validation of property 'foo' failed: {'minLength': 2, 'type': 'string', 'maxLength': 50}``.\n- If you add ``message`` property in a validation rule its value will be returned instead of the rule ``Validation of property 'foo' failed: Custom error message``.\n\nUsage\n-----\n\n``pip install json_payload_validator``\n\n**Successful validation example**\n\n.. code-block:: python\n\n from json_payload_validator import validate\n\n schema = {\n 'type': 'object',\n 'properties': {\n 'name': {'type': 'string', 'minLength': 2, 'maxLength': 50},\n },\n 'required': [\n 'name'\n ]\n }\n\n payload = {'name': 'John Maus'}\n\n error = validate(payload, schema)\n print(error) # None\n\n**Required property example**\n\n.. code-block:: python\n\n from json_payload_validator import validate\n\n schema = {\n 'type': 'object',\n 'properties': {\n 'name': {'type': 'string'},\n },\n 'required': [\n 'name'\n ]\n }\n\n payload = {}\n\n error = validate(payload, schema)\n print(error) # 'name' is a required property\n\n**Validation rule failure example**\n\n.. code-block:: python\n\n from json_payload_validator import validate\n\n schema = {\n 'type': 'object',\n 'properties': {\n 'name': {'type': 'string', {'minLength': 2, 'type': 'string', 'maxLength': 50}},\n },\n 'required': [\n 'name'\n ]\n }\n\n payload = {'name': 555}\n\n error = validate(payload, schema)\n print(error) # Validation of property 'name' failed: {'minLength': 2, 'type': 'string', 'maxLength': 50}\n\n**Custom error message example**\n\n.. code-block:: python\n\n from json_payload_validator import validate\n\n schema = {\n 'type': 'object',\n 'properties': {\n 'name': {'type': 'string', 'message': 'Name must be a string'},\n },\n 'required': [\n 'name'\n ]\n }\n\n payload = {'name': 555}\n\n error = validate(payload, schema)\n print(error) # Validation of property 'name' failed: Name must be a string\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/thiagomarini/json-payload-validator", "keywords": "json schema payload validation", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "json_payload_validator", "package_url": "https://pypi.org/project/json_payload_validator/", "platform": "", "project_url": "https://pypi.org/project/json_payload_validator/", "project_urls": { "Homepage": "https://github.com/thiagomarini/json-payload-validator" }, "release_url": "https://pypi.org/project/json_payload_validator/0.1.2/", "requires_dist": null, "requires_python": "", "summary": "JSON validator package based on jsonschema that returns nicer validation errors for end users", "version": "0.1.2" }, "last_serial": 4093391, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "648f2406127300ec36e2a792ada6cd30", "sha256": "ed496059486edeea2279aa5c33ae94c78ffec3c6670a500e33a3db361be4f87c" }, "downloads": -1, "filename": "json_payload_validator-0.0.1.tar.gz", "has_sig": false, "md5_digest": "648f2406127300ec36e2a792ada6cd30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2669, "upload_time": "2018-07-22T01:12:16", "url": "https://files.pythonhosted.org/packages/91/61/4c7c5057a27c73986a380f52ac919fa1bdf34c40e622fd249c08e5abbbe1/json_payload_validator-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "4a90a8f3bb067485d6dd6ab27b5ee047", "sha256": "deaaf800243e3ee7bdc702f9fe43f06ed5383df22196fc9196386c2519b96b0b" }, "downloads": -1, "filename": "json_payload_validator-0.0.2.tar.gz", "has_sig": false, "md5_digest": "4a90a8f3bb067485d6dd6ab27b5ee047", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2854, "upload_time": "2018-07-22T10:50:05", "url": "https://files.pythonhosted.org/packages/dc/68/23ef7b63bc0bd7ce15c048d4241f0cbaf2a52b227c3ba1187d65c98b4c2b/json_payload_validator-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "b845a03e00278e32fa11b7879a22f89e", "sha256": "c94dc9a44df6b621166008ea479e5a20f44e1a3dc81e55f1a68279761ca2ef97" }, "downloads": -1, "filename": "json_payload_validator-0.0.3.tar.gz", "has_sig": false, "md5_digest": "b845a03e00278e32fa11b7879a22f89e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2908, "upload_time": "2018-07-22T12:11:58", "url": "https://files.pythonhosted.org/packages/ac/ca/020bdb251fb3bb1aa07e82e917570967b6e2aea1de79b17b5cf0c8212c97/json_payload_validator-0.0.3.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "85bb2f87ca63f9ff4a7b470cc63e6478", "sha256": "9c37641eacfe4646bc954691b27e2a9165d0bfc4bd37cf1173b2efa2891322cf" }, "downloads": -1, "filename": "json_payload_validator-0.1.0.tar.gz", "has_sig": false, "md5_digest": "85bb2f87ca63f9ff4a7b470cc63e6478", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3291, "upload_time": "2018-07-23T13:34:52", "url": "https://files.pythonhosted.org/packages/e3/49/70d4432be8de54adbf23359bd6957351b68326c78852c4b4b0d71449e26f/json_payload_validator-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "0ab1c9b36af18a0c36a458600504420b", "sha256": "782b48ebd052afea7a42badb22cc1322c612f50a2c0ae4c711b8c1ddc95ceb6f" }, "downloads": -1, "filename": "json_payload_validator-0.1.1.tar.gz", "has_sig": false, "md5_digest": "0ab1c9b36af18a0c36a458600504420b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3408, "upload_time": "2018-07-23T13:57:50", "url": "https://files.pythonhosted.org/packages/a7/ab/b95914a0453ca7c8c4a8865317e31628768117417a6d35474e4ff17be438/json_payload_validator-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "49b7ff2968b90910ee845c448d0fa218", "sha256": "adac378f99bed1532392951dc4ef73610f1d022a049fe8b24da2f9384f48808d" }, "downloads": -1, "filename": "json_payload_validator-0.1.2.tar.gz", "has_sig": false, "md5_digest": "49b7ff2968b90910ee845c448d0fa218", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3446, "upload_time": "2018-07-23T14:10:33", "url": "https://files.pythonhosted.org/packages/9f/c2/87e168fc64bcb392a308a063e33999ddc62dd813ebafdddf319ee61ccc45/json_payload_validator-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "49b7ff2968b90910ee845c448d0fa218", "sha256": "adac378f99bed1532392951dc4ef73610f1d022a049fe8b24da2f9384f48808d" }, "downloads": -1, "filename": "json_payload_validator-0.1.2.tar.gz", "has_sig": false, "md5_digest": "49b7ff2968b90910ee845c448d0fa218", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3446, "upload_time": "2018-07-23T14:10:33", "url": "https://files.pythonhosted.org/packages/9f/c2/87e168fc64bcb392a308a063e33999ddc62dd813ebafdddf319ee61ccc45/json_payload_validator-0.1.2.tar.gz" } ] }