{ "info": { "author": "Daniel Starner", "author_email": "starner.daniel5@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# PyChecKey\n\nEver have JSON or a large dictionary that you want to validate before you jump deeper into it? PyChecKey allows you to check a dictionary-like object against a defined structure.\n\nThis works with Python 3.5+.\n\n## Components\n\nBelow are the components and common examples of how to use them.\n\n### KeyEnsurer\n\nA `KeyEnsurer` allows checking against a dictionary-like structure. \n\n```python\nfrom pycheckey import KeyEnsurer\n\n\ndata = {\n \"key1\": 4,\n \"key2\": {\n \"innerKey\": \"hi\"\n }\n}\n\nensurer = KeyEnsurer(data=data, required_keys=['key1', 'key2.innerKey', 'key3'])\n\nensurer.validate() # Will return false because key3 does not exist!\nprint(ensurer.missing) # ['key3']\n\nensurer.key_exists(data, 'key2.inner') # Returns true because data[key2][inner] exists\n\n```\n\n## Local Development\n\nTo work on this repository, you need `virtualenv`. Clone it first, then run the following two commands.\n\n```bash\n$ virtualenv -p python3 venv\n$ source venv/bin/activate\n```\n\n### Running Tests\n\nRun `pytest` from the root directory to run all tests.\n\n### Linting\n\nRun `pylint` from the root directory to lint the code files.\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/dstarner/pycheckey", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pycheckey", "package_url": "https://pypi.org/project/pycheckey/", "platform": "", "project_url": "https://pypi.org/project/pycheckey/", "project_urls": { "Homepage": "https://github.com/dstarner/pycheckey" }, "release_url": "https://pypi.org/project/pycheckey/0.3/", "requires_dist": null, "requires_python": ">3.5.2", "summary": "Ensure nested dictionary structure.", "version": "0.3" }, "last_serial": 4308497, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "7ff37c4b09fd0ea09aca9c764fed04b5", "sha256": "10144b3304090a6692d995bd3a37e750dabb6a10c20d6ae2a59d3a63ab21e1ea" }, "downloads": -1, "filename": "pycheckey-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7ff37c4b09fd0ea09aca9c764fed04b5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.5.2", "size": 2311, "upload_time": "2018-09-24T21:51:38", "url": "https://files.pythonhosted.org/packages/d6/82/4619a322d237b76bbb43a0ae76ece0d197ec7554fb67c7f3e7d335fe475e/pycheckey-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "141b8a93de6cba01578e108e0d206d42", "sha256": "30f6a1fb8919ad8e95a66ba08c70d90a95c9187db84017a487b8818be43c1e92" }, "downloads": -1, "filename": "pycheckey-0.1.tar.gz", "has_sig": false, "md5_digest": "141b8a93de6cba01578e108e0d206d42", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.5.2", "size": 1790, "upload_time": "2018-09-24T21:51:40", "url": "https://files.pythonhosted.org/packages/36/f6/535fd56e9b4256566b4c819c0608a513015bf2f3db86c0a4e31798fe4331/pycheckey-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "74f6b18f2dd739680822f6af7d97eab9", "sha256": "40f555dae106c6a567c86d93a8a71b23742c042967fdd6d4b4640b71b2ef9b6d" }, "downloads": -1, "filename": "pycheckey-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "74f6b18f2dd739680822f6af7d97eab9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.5.2", "size": 2357, "upload_time": "2018-09-24T22:14:28", "url": "https://files.pythonhosted.org/packages/71/5d/a4a7fc28cc0b624c22c92f795116e071031de2fee9dd7acffc725bf0d444/pycheckey-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2909e71cb17db4ec757c3bab4e70ae3c", "sha256": "d2b39f6f5cd918fea531ca7a53bf50249db99aa06e9516c80712503cd601e274" }, "downloads": -1, "filename": "pycheckey-0.2.tar.gz", "has_sig": false, "md5_digest": "2909e71cb17db4ec757c3bab4e70ae3c", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.5.2", "size": 1832, "upload_time": "2018-09-24T22:14:30", "url": "https://files.pythonhosted.org/packages/e6/c4/28f895081addb267f26888e5d71a460d141a9dd2ba51e74ff430c8caeb9f/pycheckey-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "8218b204a4c60ee69fb275607f9973c8", "sha256": "daf5182fcb7305100ec81e89fce2e04f96c7906e8b0b8a3d9d90f858270fce87" }, "downloads": -1, "filename": "pycheckey-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "8218b204a4c60ee69fb275607f9973c8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.5.2", "size": 2591, "upload_time": "2018-09-25T13:43:26", "url": "https://files.pythonhosted.org/packages/93/03/1a159be71a819d5c69e863a626298713b012564bde0ea95bbe2e533afda0/pycheckey-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ad80583dad9603052bba6111899c64cc", "sha256": "93d1b8a4091c0596ee6d246b1814f7664d90f30a673cf5597651f96bef8d63ba" }, "downloads": -1, "filename": "pycheckey-0.3.tar.gz", "has_sig": false, "md5_digest": "ad80583dad9603052bba6111899c64cc", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.5.2", "size": 2150, "upload_time": "2018-09-25T13:43:28", "url": "https://files.pythonhosted.org/packages/f6/84/47eb4f75d1047504cfe598b26ce79e1b16ac65a888edc13790b821879115/pycheckey-0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8218b204a4c60ee69fb275607f9973c8", "sha256": "daf5182fcb7305100ec81e89fce2e04f96c7906e8b0b8a3d9d90f858270fce87" }, "downloads": -1, "filename": "pycheckey-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "8218b204a4c60ee69fb275607f9973c8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.5.2", "size": 2591, "upload_time": "2018-09-25T13:43:26", "url": "https://files.pythonhosted.org/packages/93/03/1a159be71a819d5c69e863a626298713b012564bde0ea95bbe2e533afda0/pycheckey-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ad80583dad9603052bba6111899c64cc", "sha256": "93d1b8a4091c0596ee6d246b1814f7664d90f30a673cf5597651f96bef8d63ba" }, "downloads": -1, "filename": "pycheckey-0.3.tar.gz", "has_sig": false, "md5_digest": "ad80583dad9603052bba6111899c64cc", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.5.2", "size": 2150, "upload_time": "2018-09-25T13:43:28", "url": "https://files.pythonhosted.org/packages/f6/84/47eb4f75d1047504cfe598b26ce79e1b16ac65a888edc13790b821879115/pycheckey-0.3.tar.gz" } ] }