{ "info": { "author": "Chandrakanta Pal", "author_email": "pal.chandrakanta@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "**kanpai** is a library for validating Python data structures, mainly those coverted from JSON. e.g. JSON received from api request, obtained from config file etc.\n\nExample\n-------\nHere is a quick example\n\n```python\nimport kanpai as Kanpai\n\nschema = Kanpai.Object({\n 'first_name': (Kanpai.String(error='User first name must be string.')\n .trim()\n .required(error='Please provide user first name.')\n .max(256, error='Maximum allowed length is 256')),\n\n 'last_name': (Kanpai.String(error='User last name must be a String')\n .trim()\n .required(error='Please provide user last name.')),\n\n 'age' : (Kanpai.Number(error='Age must be a number.')\n .max(35,'Maximum allowed age is 35')\n .min(18,'Age must be minimum 18'))\n\n })\n\nvalidation_result = schema.validate({\n 'first_name':'Chandrakanta',\n 'age': 15\n})\n\nassert validation_result == {\n 'success': False,\n 'error': {\n 'last_name': 'Please provide user last name.',\n 'age': 'Age must be minimum 18'\n },\n 'data': {\n 'first_name':'Chandrakanta',\n 'age': 15\n }\n}\n```\n\n```schema.validate``` return a dictionary obejct containing \n\n```python\n{\n 'success':'Whether validation is success or not',\n 'error':'Validation error',\n 'data':'Incase of error data provided for validation , in case success validated data'\n}\n```\n\n\nInstallation\n------------\n\nUse [pip](http://pip-installer.org)\n\n pip install kanpai\n\n\nTest\n----\n\n```python\npytest # to run tests\npytest --cov-report=html --cov-branch --cov=kanpai # to generate coverage report\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/chandrakantap/kanpai", "keywords": "schema json validation request-validation input-validation", "license": "", "maintainer": "", "maintainer_email": "", "name": "kanpai", "package_url": "https://pypi.org/project/kanpai/", "platform": "", "project_url": "https://pypi.org/project/kanpai/", "project_urls": { "Homepage": "https://github.com/chandrakantap/kanpai" }, "release_url": "https://pypi.org/project/kanpai/0.1.11/", "requires_dist": null, "requires_python": "", "summary": "Python JSON schema validator with better error message", "version": "0.1.11" }, "last_serial": 5507078, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "edbf354e275a98b0553d936e183d6939", "sha256": "8d2868bcab1313246673dc9ebc226fbb525f9637580eef31155de2a835f1dd39" }, "downloads": -1, "filename": "kanpai-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "edbf354e275a98b0553d936e183d6939", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5428, "upload_time": "2018-12-27T14:53:52", "url": "https://files.pythonhosted.org/packages/b9/05/6cc8ac82f718699f9e286cea014537fb62bf04c894512387fe32b51de243/kanpai-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aafdeb7c1f9b0e803f490d751d0196e3", "sha256": "54fba676a26563715e9610642047d024e2242c96006532e78a05662401a6b147" }, "downloads": -1, "filename": "kanpai-0.1.0.tar.gz", "has_sig": false, "md5_digest": "aafdeb7c1f9b0e803f490d751d0196e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3378, "upload_time": "2018-12-27T14:53:53", "url": "https://files.pythonhosted.org/packages/da/9d/c37ee5c3782180b19f44a7ffc6e732597aec5a1f00e7ca5e2225290819c4/kanpai-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "cf08f7940e4dfb504c39aecec3d48171", "sha256": "5f9eeaa74e60053f315466487b50d40393dcf73021a042494bbd7a5a28d73759" }, "downloads": -1, "filename": "kanpai-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "cf08f7940e4dfb504c39aecec3d48171", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5562, "upload_time": "2018-12-27T18:20:21", "url": "https://files.pythonhosted.org/packages/f7/b3/85dd6ee2899974a73b70f5b9d23a0f8fe1f2633a751b551335ef6c7eaa27/kanpai-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d02b5cafdfd904314c3eaab8903ac9d7", "sha256": "996bc861bbcd58f338dfbff4b8a5e1e4f09199c1ed9dcb9f3b2f73df141f072c" }, "downloads": -1, "filename": "kanpai-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d02b5cafdfd904314c3eaab8903ac9d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3459, "upload_time": "2018-12-27T18:20:23", "url": "https://files.pythonhosted.org/packages/1e/a0/14549ef675f61dca200fb2b917d7e7fbbe54349e0f248e78a6026edf1c71/kanpai-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "8cfc7a2fc5ce00c50405cf034e5b28a1", "sha256": "17328bc91ef6e2f43ac9a4bb62261156a0fdb76b7b2a2b690f48f5e6f08de47c" }, "downloads": -1, "filename": "kanpai-0.1.10-py3-none-any.whl", "has_sig": false, "md5_digest": "8cfc7a2fc5ce00c50405cf034e5b28a1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7653, "upload_time": "2019-04-11T07:50:52", "url": "https://files.pythonhosted.org/packages/27/e5/aab891abc4d6e6894717010cba5ed715dc605d10dd9dcb176b6d764d84c7/kanpai-0.1.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb0fc4f3227b5aa56bf39173e2195226", "sha256": "afbf4eb02280f171c4eaf033a900308d93dc01118ee314fa95badfb53b573162" }, "downloads": -1, "filename": "kanpai-0.1.10.tar.gz", "has_sig": false, "md5_digest": "eb0fc4f3227b5aa56bf39173e2195226", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4410, "upload_time": "2019-04-11T07:50:54", "url": "https://files.pythonhosted.org/packages/69/a0/6f33d1d3a4952ee721a32effcd39cb2d8cb5c0baa28e9e3fe2c54e28a4ff/kanpai-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "2c80fc3b90f396027dec2ad15e09d55b", "sha256": "8ee134bdc2ce81915c6c7c4b51ac0d408e8fcecfd7c5f402a981ce878245110a" }, "downloads": -1, "filename": "kanpai-0.1.11-py3-none-any.whl", "has_sig": false, "md5_digest": "2c80fc3b90f396027dec2ad15e09d55b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7821, "upload_time": "2019-07-09T13:13:16", "url": "https://files.pythonhosted.org/packages/e7/36/e52a6f26b6a3f22942ecfc7f8162b318f9a7fc0512499be13235bd110882/kanpai-0.1.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "76558ab7ab65adf58247f6df6bd24390", "sha256": "9c218c7e2303cb250056bb8d9a665698338f7b7e4df3be3282700a7881ec496a" }, "downloads": -1, "filename": "kanpai-0.1.11.tar.gz", "has_sig": false, "md5_digest": "76558ab7ab65adf58247f6df6bd24390", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4444, "upload_time": "2019-07-09T13:13:18", "url": "https://files.pythonhosted.org/packages/ac/2f/72b2c470e687eb6170833b1ef023dca2d1260a063c1acba10616456dd1c5/kanpai-0.1.11.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "920908b8e55fcc6cbe7b9b70b1d9d409", "sha256": "2aa9e306acc072c3996717c18147a328da4f60940570cddf83dcb50f80640a61" }, "downloads": -1, "filename": "kanpai-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "920908b8e55fcc6cbe7b9b70b1d9d409", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5611, "upload_time": "2018-12-28T09:06:43", "url": "https://files.pythonhosted.org/packages/cd/61/43322f773cec75cc2471d0797af7d4b39dcf8fcf41e0a35f3e6365668425/kanpai-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "867ebcb3b47086b95ebf0ba9287ee835", "sha256": "30e3f262f5ef9037e9f72e09c225a2b4267bfb7d63defc2a70d7f3ccf3a96cee" }, "downloads": -1, "filename": "kanpai-0.1.2.tar.gz", "has_sig": false, "md5_digest": "867ebcb3b47086b95ebf0ba9287ee835", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3535, "upload_time": "2018-12-28T09:06:45", "url": "https://files.pythonhosted.org/packages/c8/48/a52391be8a3c31c9f75c6f46fb610c2b346fc855ec57df6085a178b202f0/kanpai-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "7323ac91bf4e409de98585c4e193e38c", "sha256": "f4177d600a7bd04d353600164b4502c34dfbd2d5dd8dec0c49b363e849833afe" }, "downloads": -1, "filename": "kanpai-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "7323ac91bf4e409de98585c4e193e38c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6789, "upload_time": "2019-01-10T13:42:10", "url": "https://files.pythonhosted.org/packages/ff/e9/5c6816c9a7be36d253b2396f27eadaf5628bf6482e23ec5c5a439953ca36/kanpai-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a5520d89c6b921461662a21c5b49b9ac", "sha256": "a198c5ad6623cd1f1e0052fbc65d4520daa566c915cfab94e91e36d361ec126c" }, "downloads": -1, "filename": "kanpai-0.1.3.tar.gz", "has_sig": false, "md5_digest": "a5520d89c6b921461662a21c5b49b9ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4028, "upload_time": "2019-01-10T13:42:11", "url": "https://files.pythonhosted.org/packages/69/50/abdaa076d5803f4b8b935972dee5c0d7a1e018bd061733c0771d0d38b3af/kanpai-0.1.3.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "c0e3d999326d0cdcc0266b6fa087f949", "sha256": "84ca82ecf78f04188399c9a836b696c55035562599048f0ea51a6c4f95f503a4" }, "downloads": -1, "filename": "kanpai-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "c0e3d999326d0cdcc0266b6fa087f949", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6799, "upload_time": "2019-02-01T06:30:43", "url": "https://files.pythonhosted.org/packages/65/cd/6c24f2fc04613f1b9dc283d82685fec0a38bb6b5195446c48fa520908c64/kanpai-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "94f45acc004e5fdb3b38b82e6e403527", "sha256": "e263412dad8d107f8dbdcb91db34b9451e636197017f2f626351a40e273e1cba" }, "downloads": -1, "filename": "kanpai-0.1.5.tar.gz", "has_sig": false, "md5_digest": "94f45acc004e5fdb3b38b82e6e403527", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4038, "upload_time": "2019-02-01T06:30:45", "url": "https://files.pythonhosted.org/packages/67/d7/371bb8d5cfd80294a8a3befe756cfe35f6d372b97c073f9653d6abc55103/kanpai-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "674371f36ce92f2c2c25e86d9675d52e", "sha256": "15c26718c5916c6b0c92df2cc256640b67f8fe127ff39eadf8a6888813a63bd3" }, "downloads": -1, "filename": "kanpai-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "674371f36ce92f2c2c25e86d9675d52e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7251, "upload_time": "2019-02-01T18:02:12", "url": "https://files.pythonhosted.org/packages/7f/5b/39a601b3676b610671a636c5b570c02da1e53e3a8b14b29b755411820a7a/kanpai-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b99b7407dab7073f7c2d4157c11aee16", "sha256": "e3afcaba9ac5251cd3720701b93e5fc522c89a1c91bf3e688ecb76eb49267e1e" }, "downloads": -1, "filename": "kanpai-0.1.6.tar.gz", "has_sig": false, "md5_digest": "b99b7407dab7073f7c2d4157c11aee16", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4160, "upload_time": "2019-02-01T18:02:13", "url": "https://files.pythonhosted.org/packages/54/e4/9fdb543219ab16e2aec2c5584b2980ce41433619f4f836f0e9800ade06c4/kanpai-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "3be877bb80883fccc16141dcb6cecae0", "sha256": "d98aa3284548b09b1b5d92f482b1a5ffee3478ab06c6a3bd923ea9170035dc71" }, "downloads": -1, "filename": "kanpai-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "3be877bb80883fccc16141dcb6cecae0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7260, "upload_time": "2019-02-02T19:40:48", "url": "https://files.pythonhosted.org/packages/e8/7e/73956c4d90624f0bc8920638d7e48ac23a0a3e4945cbe93f5dc5301ab49a/kanpai-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "513715e545eb9140e394c1171fa2c4dc", "sha256": "0a027ab6ee91d6c6d522208c698511415f58dbebacb193bacd746dc10c3d0f93" }, "downloads": -1, "filename": "kanpai-0.1.7.tar.gz", "has_sig": false, "md5_digest": "513715e545eb9140e394c1171fa2c4dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4174, "upload_time": "2019-02-02T19:40:49", "url": "https://files.pythonhosted.org/packages/09/8f/861c142431d24c0c84c70ee969cbaff1fe6958140afbb00bad7bbd5cf5dc/kanpai-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "cafd285c25b82790c9c2158fd91f2219", "sha256": "2d401f1f4dd5014cf67f8d885d6d467c9b0ed9d643b05ff92caefd0630ddec59" }, "downloads": -1, "filename": "kanpai-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "cafd285c25b82790c9c2158fd91f2219", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7475, "upload_time": "2019-02-10T06:07:07", "url": "https://files.pythonhosted.org/packages/6b/92/a2be8a2b6de74dbb77bc159a7ebe32fa69722a03181a31ffb30d4f5a868f/kanpai-0.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c287dfc8ca7c296df1fce1f091a593cc", "sha256": "4b9741e0304adece96271e9cc97e84386e569dec2b5d5bc2c9efb89cb7637b74" }, "downloads": -1, "filename": "kanpai-0.1.8.tar.gz", "has_sig": false, "md5_digest": "c287dfc8ca7c296df1fce1f091a593cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4258, "upload_time": "2019-02-10T06:07:09", "url": "https://files.pythonhosted.org/packages/e9/aa/e0cc573329312e8ea65f20beb9138a7f269a73b1cc249183a7e43b1dbc58/kanpai-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "d6db22bdc4e4200c9adb6358a5be15aa", "sha256": "34bcb6eba88f6f9840ff8a1f2c19ceae51ac1b71a6e00663e8901e54143973cb" }, "downloads": -1, "filename": "kanpai-0.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "d6db22bdc4e4200c9adb6358a5be15aa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7540, "upload_time": "2019-02-20T05:57:05", "url": "https://files.pythonhosted.org/packages/19/a2/cc004c574dd155d6816787a65d5d13ddf643046e9250845708f34861340b/kanpai-0.1.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e26380f8f4bf2a3149e3e1aeea063038", "sha256": "e428714c1e64f1988d2f411984c89df59084e4dd96ac42a243d42faf85c7bc71" }, "downloads": -1, "filename": "kanpai-0.1.9.tar.gz", "has_sig": false, "md5_digest": "e26380f8f4bf2a3149e3e1aeea063038", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4315, "upload_time": "2019-02-20T05:57:08", "url": "https://files.pythonhosted.org/packages/4e/7a/0bcd79ac51f307f3a49d72a6db67d2ac32694bb18dbc88e2826170738991/kanpai-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2c80fc3b90f396027dec2ad15e09d55b", "sha256": "8ee134bdc2ce81915c6c7c4b51ac0d408e8fcecfd7c5f402a981ce878245110a" }, "downloads": -1, "filename": "kanpai-0.1.11-py3-none-any.whl", "has_sig": false, "md5_digest": "2c80fc3b90f396027dec2ad15e09d55b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7821, "upload_time": "2019-07-09T13:13:16", "url": "https://files.pythonhosted.org/packages/e7/36/e52a6f26b6a3f22942ecfc7f8162b318f9a7fc0512499be13235bd110882/kanpai-0.1.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "76558ab7ab65adf58247f6df6bd24390", "sha256": "9c218c7e2303cb250056bb8d9a665698338f7b7e4df3be3282700a7881ec496a" }, "downloads": -1, "filename": "kanpai-0.1.11.tar.gz", "has_sig": false, "md5_digest": "76558ab7ab65adf58247f6df6bd24390", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4444, "upload_time": "2019-07-09T13:13:18", "url": "https://files.pythonhosted.org/packages/ac/2f/72b2c470e687eb6170833b1ef023dca2d1260a063c1acba10616456dd1c5/kanpai-0.1.11.tar.gz" } ] }