{ "info": { "author": "Alex Forbes", "author_email": "github@al4.co.nz", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development" ], "description": "python-checkrunner\n==================\nA very simple check runner for Python. I use this in projects where I need to run a suite of checks before performing some action (usually on invocation). In this way, the checks are kept together in one class, and no special logic is needed to run them all individually.\n\nSupports Python 2 and 3 (tested on 2.7 and 3.4).\n\nUsage\n-----\nCreate a sub-class of CheckRunner and declare your checks::\n\n from checkrunner import CheckRunner\n\n class MyChecks(CheckRunner):\n @staticmethod\n def check_that_passes():\n return True, 'this check passed!'\n\n @staticmethod\n def check_that_fails():\n return False, 'this check failed!'\n\n print(MyChecks.run())\n # (False, ['this check failed!'])\n\n print(MyChecks.run(return_passed=True))\n # (False, ['this check passed!', 'this check failed!'])\n\n\nWhen all checks pass it will return True with an empty list (unless you set return_passed)::\n\n from checkrunner import CheckRunner\n\n class MyChecks(CheckRunner):\n @staticmethod\n def check_that_passes():\n return True, 'this check passed!'\n\n print(MyChecks.run())\n # (True, [])\n\n\nYou can pass keyword arguments to the checks (they will be sent to each and every check)::\n\n from checkrunner import CheckRunner\n\n class MyChecks(CheckRunner):\n @staticmethod\n def check_foo(foo=None):\n if foo:\n return True, foo\n else:\n return False, foo\n\n print(MyChecks.run(foo='bar', return_passed=True))\n # (True, ['bar'])\n\nClass methods also work::\n\n from checkrunner import CheckRunner\n\n\n class MyChecks(CheckRunner):\n foo = 'bar'\n\n @classmethod\n def check_class(cls):\n return True, cls.foo\n\n print(MyChecks.run(return_passed=True))\n # (True, ['bar'])\n\nYou can also return whatever you like in the second parameter, it does not have to be a string.\n\n\nTesting\n-------\nTesting uses vagrant, tox and pytest. If you already have Vagrant, running the tests yourself is as simple as::\n\n $ vagrant up\n $ vagrant ssh\n (dev) vagrant@debian-8:~$ cd ~/src\n (dev) vagrant@debian-8:~/src$ tox\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/al4/python-checkrunner", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "checkrunner", "package_url": "https://pypi.org/project/checkrunner/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/checkrunner/", "project_urls": { "Homepage": "https://github.com/al4/python-checkrunner" }, "release_url": "https://pypi.org/project/checkrunner/0.0.2/", "requires_dist": null, "requires_python": "", "summary": "A simple check runner for Python", "version": "0.0.2" }, "last_serial": 2496293, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "458e2903233d23e166bcd0779a3de376", "sha256": "637ea06fe44e019d20062208b4d079d7e720f7cf906b635f356bca5568d5d1b9" }, "downloads": -1, "filename": "checkrunner-0.0.1.macosx-10.12-x86_64.tar.gz", "has_sig": false, "md5_digest": "458e2903233d23e166bcd0779a3de376", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2956, "upload_time": "2016-12-02T13:56:16", "url": "https://files.pythonhosted.org/packages/72/dd/08a1fa40235d5731e21e6265890fce2d07f36b0e3ce3b303d2d97a7057ff/checkrunner-0.0.1.macosx-10.12-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "6a6834ee8e2942ce0684c09f6c14cefc", "sha256": "7bef28e1da3b9c9a506ae866bcb83ebd92aa95fa4bd5c912e01eeee70560988b" }, "downloads": -1, "filename": "checkrunner-0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "6a6834ee8e2942ce0684c09f6c14cefc", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 3140, "upload_time": "2016-12-02T13:55:40", "url": "https://files.pythonhosted.org/packages/2d/60/75563054b7fc7b74f977b2644bc45b2af06c71381d9520cc2d0e72d4f211/checkrunner-0.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0309dbdb9ba0f80f6ed6ebee2e27a2cd", "sha256": "ba6a00b77006fd033526dbc977f69e446db08a256cc2031e235fe045a2f8990f" }, "downloads": -1, "filename": "checkrunner-0.0.1.tar.gz", "has_sig": false, "md5_digest": "0309dbdb9ba0f80f6ed6ebee2e27a2cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4920, "upload_time": "2016-12-02T13:56:19", "url": "https://files.pythonhosted.org/packages/65/04/9d8065cb89c590b9695cd389ade7207c30510677cb627189c330be887e80/checkrunner-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "7eca0492ff1ad4a5b7d82ee0f40bd995", "sha256": "8880b3043423600414acc4c49c155d822f9f64a4561bc88f7fde067bb2406f33" }, "downloads": -1, "filename": "checkrunner-0.0.2.tar.gz", "has_sig": false, "md5_digest": "7eca0492ff1ad4a5b7d82ee0f40bd995", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5488, "upload_time": "2016-12-02T18:04:27", "url": "https://files.pythonhosted.org/packages/cc/a1/5c8a78ff2d558692463286dfbb73ee8592817a68f58dab3932d72f8c23ab/checkrunner-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7eca0492ff1ad4a5b7d82ee0f40bd995", "sha256": "8880b3043423600414acc4c49c155d822f9f64a4561bc88f7fde067bb2406f33" }, "downloads": -1, "filename": "checkrunner-0.0.2.tar.gz", "has_sig": false, "md5_digest": "7eca0492ff1ad4a5b7d82ee0f40bd995", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5488, "upload_time": "2016-12-02T18:04:27", "url": "https://files.pythonhosted.org/packages/cc/a1/5c8a78ff2d558692463286dfbb73ee8592817a68f58dab3932d72f8c23ab/checkrunner-0.0.2.tar.gz" } ] }