{ "info": { "author": "Francis Bergin", "author_email": "me@francisbergin.com", "bugtrack_url": null, "classifiers": [], "description": "# watch-diff\n\n[![Build Status](https://travis-ci.com/francisbergin/watch-diff.svg?token=re71XWM3LDYXreMfwvp8&branch=master)](https://travis-ci.com/francisbergin/watch-diff)\n[![PyPI](https://img.shields.io/pypi/v/watch-diff.svg)](https://pypi.org/project/watch-diff)\n\n## setup\n\n```shell\npip install watch-diff\n```\n\n## usage\n\n```console\n$ watch-diff --help\nusage: watch-diff [-h] [-v | -d] [-i SECONDS] [-r RECIPIENT] command\n\nWatch command output and get notified on changes\n\npositional arguments:\n command the command to watch\n\noptional arguments:\n -h, --help show this help message and exit\n -i SECONDS, --interval SECONDS\n number of seconds between executions\n -r RECIPIENT, --recipient RECIPIENT\n send email to recipient\n\nlogging level:\n -v, --verbose enable verbose output\n -d, --debug show debugging statements\n```\n\n## credentials\n\n```shell\nexport SMTP_HOST=qwer.ty\nexport SMTP_PORT=1234\nexport SMTP_USER=qwer@qwer.ty\nread -s -p \"SMTP_PASS: \" SMTP_PASS\nexport SMTP_PASS\n```\n\n## development\n\n```shell\n# setup\npython3 -m venv venv && . venv/bin/activate\n\n# editable install\npip install -e .[dev]\n\n# running tests\npython -m unittest -v\n\n# running tests for all supported python versions\ntox\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/francisbergin/watch-diff", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "watch-diff", "package_url": "https://pypi.org/project/watch-diff/", "platform": "", "project_url": "https://pypi.org/project/watch-diff/", "project_urls": { "Homepage": "https://github.com/francisbergin/watch-diff" }, "release_url": "https://pypi.org/project/watch-diff/0.6.0/", "requires_dist": [ "setuptools (==41.2.0) ; extra == 'dev'", "tox (==3.14.0) ; extra == 'dev'", "twine (==1.14.0) ; extra == 'dev'", "wheel (==0.33.6) ; extra == 'dev'" ], "requires_python": ">=3.4", "summary": "Watch command output and get notified on changes", "version": "0.6.0" }, "last_serial": 5816065, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "3de0a22fb1e000e1dd76f18a5eba99c8", "sha256": "60cd716856ea53fa0072ac45e2f53b1a756ff49c2a284c2ddebdc817a331e392" }, "downloads": -1, "filename": "watch_diff-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3de0a22fb1e000e1dd76f18a5eba99c8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 6452, "upload_time": "2018-12-15T05:27:33", "url": "https://files.pythonhosted.org/packages/b6/42/7b9419e4c66946ee27beb2a96f619c669970b8956b5790bcbf9f7ce05b39/watch_diff-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e59fc0efe77d9ff6c3480b0500cbaae0", "sha256": "893cf033fbe470427702e1b65cba9882ac66fb829d9e11255ad966c529c98056" }, "downloads": -1, "filename": "watch-diff-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e59fc0efe77d9ff6c3480b0500cbaae0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 3844, "upload_time": "2018-12-15T05:27:34", "url": "https://files.pythonhosted.org/packages/04/2f/1d9c894d319275967476c918d097351a6d50a7ec19f40e62d66a9a284f02/watch-diff-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "b5d18941a481381e901c3d90f4291ac7", "sha256": "80ed5f5251871d8622b6bca1c202343822432fd868f1c9de43779b111626c224" }, "downloads": -1, "filename": "watch_diff-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "b5d18941a481381e901c3d90f4291ac7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 6471, "upload_time": "2018-12-16T03:56:57", "url": "https://files.pythonhosted.org/packages/77/b8/82e0339d1ea6f1226fe7d7805eb2c197f5a4b3ff1cd2180ed1bcea38e5d9/watch_diff-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9c384f433f7985b55001992b598b190d", "sha256": "2364619e1d40655f594e30410f53ca56d3d30dada76a17aac4ed88aafdde9ed7" }, "downloads": -1, "filename": "watch-diff-0.1.1.tar.gz", "has_sig": false, "md5_digest": "9c384f433f7985b55001992b598b190d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 3873, "upload_time": "2018-12-16T03:56:59", "url": "https://files.pythonhosted.org/packages/fe/55/43ab31c5d01dd162d8e22d3527c55abb9c42ed3895213b3bda3434217aec/watch-diff-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "444c04afb5146955340df4f65efbb0d5", "sha256": "39839f990525b1b7f7010ed6040b1792d6a8241a75da61477d3abad3c42ad248" }, "downloads": -1, "filename": "watch_diff-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "444c04afb5146955340df4f65efbb0d5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 6623, "upload_time": "2018-12-19T20:22:50", "url": "https://files.pythonhosted.org/packages/2c/28/955d93e193a26d189d340087705262b29806418d9ec85d8ec44eb4ab31ca/watch_diff-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c11796a6082c56d8c56ad378e9e1e5a9", "sha256": "055ee7c4436da62d975609639edec21046632c562f3d5d308dcfe1618ae9aeb7" }, "downloads": -1, "filename": "watch-diff-0.2.0.tar.gz", "has_sig": false, "md5_digest": "c11796a6082c56d8c56ad378e9e1e5a9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 3992, "upload_time": "2018-12-19T20:22:51", "url": "https://files.pythonhosted.org/packages/84/8a/3a2d76e70abeaf03a7208c4318f329d06e10ca21130612968982b011cc6b/watch-diff-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "4b54b6b3ccee044fa75ef4a58297b895", "sha256": "d29dc573295245c62bcc703e6b84c05274f6ce86e48686419fe265e17389c7d6" }, "downloads": -1, "filename": "watch_diff-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4b54b6b3ccee044fa75ef4a58297b895", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 6934, "upload_time": "2018-12-20T00:19:41", "url": "https://files.pythonhosted.org/packages/93/e4/a16f38a2ed6faf2962bf530e3f27401889cb92b546af6010f1a7335dcf3d/watch_diff-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3823c11465049372ba104ae4f95d542a", "sha256": "e1d8c4da587a4d812efc8720ac6877d31f86850edf927121152ca69ded1b8bdc" }, "downloads": -1, "filename": "watch-diff-0.2.1.tar.gz", "has_sig": false, "md5_digest": "3823c11465049372ba104ae4f95d542a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 4329, "upload_time": "2018-12-20T00:19:43", "url": "https://files.pythonhosted.org/packages/1b/6e/1beec80a90cfaa90a7a93a4a2a9b6d5db699cdb0c7441df54607f7af52b9/watch-diff-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "72cb10190c99343aa5d1214ef1a2c589", "sha256": "7d48717fb279225e0b579e105bfb9ea50316b4daaa2f02dc778681b37262ff08" }, "downloads": -1, "filename": "watch_diff-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "72cb10190c99343aa5d1214ef1a2c589", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 6474, "upload_time": "2018-12-21T00:12:51", "url": "https://files.pythonhosted.org/packages/9d/46/95f27f28484e027bd9f7bd1090a8803556a0d0a475ef6703195cd10386e8/watch_diff-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2236f159d04d8c3277702bab47ef5e40", "sha256": "185892701c7c688c505bbb18630c3aea8ec6665a748b096f1f18072fe862a59c" }, "downloads": -1, "filename": "watch-diff-0.3.0.tar.gz", "has_sig": false, "md5_digest": "2236f159d04d8c3277702bab47ef5e40", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 4118, "upload_time": "2018-12-21T00:12:52", "url": "https://files.pythonhosted.org/packages/3d/01/6420594b69ff4b5ea0253e6d5471bd6a5ba7405734734f7e7aae091f39ea/watch-diff-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "48276702309e24959ff2397fa6dfe9ee", "sha256": "aa28b3a27255af9060cef0699aa220e39b8b3128adf1376d0c490147c7b68cb9" }, "downloads": -1, "filename": "watch_diff-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "48276702309e24959ff2397fa6dfe9ee", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6.0", "size": 6499, "upload_time": "2018-12-30T03:37:05", "url": "https://files.pythonhosted.org/packages/81/57/28b28085bbae23f15cd5794e232d4435c86d1bf70c015e80902667f692b8/watch_diff-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "29f43c4eb7882fa384564f15b064e3e0", "sha256": "3a024531e8d5e03dae0b2e84724850316f457b6ba838b196bf5c41b4ef187b70" }, "downloads": -1, "filename": "watch-diff-0.4.0.tar.gz", "has_sig": false, "md5_digest": "29f43c4eb7882fa384564f15b064e3e0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 4138, "upload_time": "2018-12-30T03:37:06", "url": "https://files.pythonhosted.org/packages/10/3f/82b93ef37fd825995c6e42bdbfec96467cbf98a7bd819eee6e2f57f4e9e1/watch-diff-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "0281dfc766e8f8ab08d01e6ca7a7c447", "sha256": "b6d68cc1f517402eed901d3344c224a0bec9aaa2412718110615990a9e78fe0d" }, "downloads": -1, "filename": "watch_diff-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0281dfc766e8f8ab08d01e6ca7a7c447", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 6835, "upload_time": "2018-12-31T20:27:02", "url": "https://files.pythonhosted.org/packages/28/66/7596a95e6f9bf39977776993c08dff6090e36fc027e93f43df43b46bd972/watch_diff-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8cbcd5cc8ea27513f5495fa03f5d7e39", "sha256": "0063e53b798e5fbbf063321b85d656b3a02032ccd0025d6ccace5b5089e8f0bd" }, "downloads": -1, "filename": "watch-diff-0.5.0.tar.gz", "has_sig": false, "md5_digest": "8cbcd5cc8ea27513f5495fa03f5d7e39", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 4398, "upload_time": "2018-12-31T20:27:03", "url": "https://files.pythonhosted.org/packages/db/15/d78ec8379da0e8d366302ae29b3747e06989714c6c415b977c191b7899c5/watch-diff-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "ee04932a5aa3a74c6336b1860c97d1cf", "sha256": "292923610cb36a795305ae9da43b7574ce428c2417cfb8c093b30b0bac935956" }, "downloads": -1, "filename": "watch_diff-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ee04932a5aa3a74c6336b1860c97d1cf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 6950, "upload_time": "2019-09-11T17:09:07", "url": "https://files.pythonhosted.org/packages/8e/a6/0025c8b7acc0a014accb2630ce4b5d156925afd2c9c0e533f449384b9a0b/watch_diff-0.6.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "049864094259a81c1238e4f1b4e31f77", "sha256": "a661d79bbc7fc811737d932f2fa039a0d0205d40f7a718e6264b38f436f83f02" }, "downloads": -1, "filename": "watch-diff-0.6.0.tar.gz", "has_sig": false, "md5_digest": "049864094259a81c1238e4f1b4e31f77", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 4559, "upload_time": "2019-09-11T17:09:09", "url": "https://files.pythonhosted.org/packages/27/1e/1bddff0eb111d053e45edb99e9368d25165d29815e7751dcf48b78c97627/watch-diff-0.6.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ee04932a5aa3a74c6336b1860c97d1cf", "sha256": "292923610cb36a795305ae9da43b7574ce428c2417cfb8c093b30b0bac935956" }, "downloads": -1, "filename": "watch_diff-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ee04932a5aa3a74c6336b1860c97d1cf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.4", "size": 6950, "upload_time": "2019-09-11T17:09:07", "url": "https://files.pythonhosted.org/packages/8e/a6/0025c8b7acc0a014accb2630ce4b5d156925afd2c9c0e533f449384b9a0b/watch_diff-0.6.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "049864094259a81c1238e4f1b4e31f77", "sha256": "a661d79bbc7fc811737d932f2fa039a0d0205d40f7a718e6264b38f436f83f02" }, "downloads": -1, "filename": "watch-diff-0.6.0.tar.gz", "has_sig": false, "md5_digest": "049864094259a81c1238e4f1b4e31f77", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 4559, "upload_time": "2019-09-11T17:09:09", "url": "https://files.pythonhosted.org/packages/27/1e/1bddff0eb111d053e45edb99e9368d25165d29815e7751dcf48b78c97627/watch-diff-0.6.0.tar.gz" } ] }