{ "info": { "author": "Raymond Penners", "author_email": "raymond.penners@intenct.nl", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Topic :: Internet", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "===================\nWelcome to Netwell!\n===================\n\n.. image:: https://badge.fury.io/py/netwell.svg\n :target: http://badge.fury.io/py/netwell\n\n.. image:: https://travis-ci.org/pennersr/netwell.svg\n :target: http://travis-ci.org/pennersr/netwell\n\n.. image:: https://img.shields.io/pypi/v/netwell.svg\n :target: https://pypi.python.org/pypi/netwell\n\n.. image:: https://pennersr.github.io/img/bitcoin-badge.svg\n :target: https://blockchain.info/address/1AJXuBMPHkaDCNX2rwAy34bGgs7hmrePEr\n\n.. image:: https://img.shields.io/badge/code%20style-pep8-green.svg\n :target: https://www.python.org/dev/peps/pep-0008/\n\n\nInstallation\n============\n\nPython 3 is required::\n\n $ pip install netwell\n\n\nQuickstart\n==========\n\nGiven a netwell checkup file `checks.py`:\n::\n\n from netwell.checkers import URL, DNS, Port, Repo\n\n URL('http://fsf.org') \\\n .redirects_to('http://www.fsf.org/') \\\n .title_matches('Free Software Foundation') \\\n .has_header('Content-Type', 'text/html;charset=utf-8')\n Port('fsf.org', 443).ssl_valid_for(days=3000)\n DNS('fsf.org', 'www.fsf.org').resolves_to('208.118.235.131')\n Path('/').free_space(gb=1)\n Path('/var/log/syslog').modified_within(hours=1)\n Repo('/home/deploy/src/project').is_clean()\n\n def custom_check(response, outcome):\n data = response.json()\n if data:\n outcome.fail('Other data expected')\n\n URL('http://httpbin.org/get').check_response(custom_check)\n\nThen, run:\n\n::\n\n $ netwell /some/where/checks.py\n Checking that http://fsf.org redirects to http://www.fsf.org/... OK\n Checking that http://fsf.org title matches \"Free Software Foundation\"... OK\n Checking that http://fsf.org has header \"Content-Type\": \"text/html;charset=utf-8\"... OK\n Checking that SSL at fsf.org:443 is valid for at least 3000 days... ERROR\n ERROR: Not valid after 2016-10-13\n Checking that fsf.org resolves to 208.118.235.131... OK\n Checking that www.fsf.org resolves to 208.118.235.131... OK\n Checking that / has 1 GB free space... ERROR\n ERROR: Only 0.5 GB free\n Checking that /var/log/syslog was modified after 2015-12-27 22:21:05.873355... OK\n Checking that http://httpbin.org/get passes custom_check... ERROR\n ERROR: Other data expected\n Checking that repository /home/deploy/src/project is clean... ERROR\n ERROR: Untracked files found\n\n\nUse `--quiet` to only output the error messages, if any.\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/pennersr/netwell", "keywords": "network ping check test", "license": "", "maintainer": "", "maintainer_email": "", "name": "netwell", "package_url": "https://pypi.org/project/netwell/", "platform": "", "project_url": "https://pypi.org/project/netwell/", "project_urls": { "Homepage": "http://github.com/pennersr/netwell" }, "release_url": "https://pypi.org/project/netwell/0.4.0/", "requires_dist": null, "requires_python": "", "summary": "Checker to determine if all is well", "version": "0.4.0", "yanked": false, "yanked_reason": null }, "last_serial": 6006284, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "333fb74e9b18ef9096e840f95a3e6b87", "sha256": "7085b8908851ad079c2b334ed46bc85c6b4784e1cff91773ffe1018ac9b3642c" }, "downloads": -1, "filename": "netwell-0.1.0.tar.gz", "has_sig": false, "md5_digest": "333fb74e9b18ef9096e840f95a3e6b87", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5076, "upload_time": "2015-12-11T20:19:32", "upload_time_iso_8601": "2015-12-11T20:19:32.656902Z", "url": "https://files.pythonhosted.org/packages/5c/d8/310aca3209bb01046533b94c204d4b41f96d770c607bba45f0d12979d708/netwell-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.0.dev0": [], "0.1.1": [ { "comment_text": "", "digests": { "md5": "6bc9c8f8aec276f625cfc91dbc0b5e24", "sha256": "621d98e8853b3f0b8c1d94823cd36eb19aba83843e1b39305849f98fe7dadbc1" }, "downloads": -1, "filename": "netwell-0.1.1.tar.gz", "has_sig": false, "md5_digest": "6bc9c8f8aec276f625cfc91dbc0b5e24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4930, "upload_time": "2015-12-11T20:55:27", "upload_time_iso_8601": "2015-12-11T20:55:27.245839Z", "url": "https://files.pythonhosted.org/packages/29/af/15754eaba238d6d78e63cdbd7893ec702632e4484bf395d0368531412cdb/netwell-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "aa811ddf7d3d07290e686397d041fa91", "sha256": "d9c930dcf07a9a7f0e2dd210fdd6244b5a3ca4a3c692631186eb84926796b350" }, "downloads": -1, "filename": "netwell-0.2.0.tar.gz", "has_sig": false, "md5_digest": "aa811ddf7d3d07290e686397d041fa91", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5462, "upload_time": "2015-12-19T20:53:06", "upload_time_iso_8601": "2015-12-19T20:53:06.886510Z", "url": "https://files.pythonhosted.org/packages/db/76/d2a59a2360422afc2bf061106f5b4e4099d1134b70abbb0b8ec6640ee2c1/netwell-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "3d73d85ff5a8e88a39d5484fefe456c4", "sha256": "186656d62681f726fa4feef639dad939c4c93915958f308b0b2224d4ea5a6119" }, "downloads": -1, "filename": "netwell-0.3.0.tar.gz", "has_sig": false, "md5_digest": "3d73d85ff5a8e88a39d5484fefe456c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6274, "upload_time": "2017-09-22T05:36:38", "upload_time_iso_8601": "2017-09-22T05:36:38.826556Z", "url": "https://files.pythonhosted.org/packages/4a/fa/72a8069d8f1c18c8f3f018acceb3f13c75ddae9adc191da7a50d5708a39f/netwell-0.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "13102bf81db38a60ceeabd1f41023d7a", "sha256": "cd6940614081790099b8fc1fdcf65cb930d54c647ed8bc9ba90dc781cf33926e" }, "downloads": -1, "filename": "netwell-0.4.0.tar.gz", "has_sig": false, "md5_digest": "13102bf81db38a60ceeabd1f41023d7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6671, "upload_time": "2019-10-21T09:06:56", "upload_time_iso_8601": "2019-10-21T09:06:56.828258Z", "url": "https://files.pythonhosted.org/packages/9d/01/4aacc00ffd2ed59595769e233baf1e72b3a4034ddabf65ff4ef34e1d487e/netwell-0.4.0.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "13102bf81db38a60ceeabd1f41023d7a", "sha256": "cd6940614081790099b8fc1fdcf65cb930d54c647ed8bc9ba90dc781cf33926e" }, "downloads": -1, "filename": "netwell-0.4.0.tar.gz", "has_sig": false, "md5_digest": "13102bf81db38a60ceeabd1f41023d7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6671, "upload_time": "2019-10-21T09:06:56", "upload_time_iso_8601": "2019-10-21T09:06:56.828258Z", "url": "https://files.pythonhosted.org/packages/9d/01/4aacc00ffd2ed59595769e233baf1e72b3a4034ddabf65ff4ef34e1d487e/netwell-0.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }