{ "info": { "author": "Aurelien Lourot", "author_email": "aurelien.lourot@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: Public Domain", "Natural Language :: English", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2.7", "Topic :: Software Development :: Version Control", "Topic :: Utilities" ], "description": ".. Generated by:\n $ ./scripts/gen_doc.sh\n\n\nOfficial documentation `here `_.\n\ngicowa.py - GitHub Commit Watcher\n=================================\n\nGitHub's *Watch* feature doesn't send notifications when commits are\npushed. This script aims to implement this feature and much more.\n\nInstallation\n------------\n\n::\n\n $ sudo apt-get install sendmail\n $ sudo pip install gicowa\n\nQuick setup\n-----------\n\nAdd the following line to your ``/etc/crontab``:\n\n::\n\n 0 * * * * root gicowa --persist --no-color --mailto myself@mydomain.com lastwatchedcommits MyGitHubUsername sincelast > /tmp/gicowa 2>&1\n\n**That's it.** As long as your machine is running you'll get e-mails\nwhen something gets pushed on a repo you're watching.\n\n **NOTES:**\n\n - The e-mails are likely to be considered as spam until you mark\n one as non-spam in your e-mail client. Or use the ``--mailfrom``\n option.\n - If you're watching 15 repos or more, you probably want to use the\n ``--credentials`` option to make sure you don't hit the GitHub\n API rate limit.\n\nOther/Advanced usage\n--------------------\n\n``gicowa`` is a generic command-line tool with which you can make much\nmore that just implementing the use case depicted in the introduction.\nThis section shows what it can.\n\nList repos watched by a user\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n $ gicowa watchlist AurelienLourot\n watchlist AurelienLourot\n AurelienLourot/uncommitted\n AurelienLourot/crouton-emacs-conf\n brillout/FasterWeb\n AurelienLourot/github-commit-watcher\n\nList last commits on a repo\n~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n $ gicowa lastrepocommits AurelienLourot/github-commit-watcher since 2015 07 05 09 12 00\n lastrepocommits AurelienLourot/github-commit-watcher since 2015-07-05 09:12:00\n Last commit pushed on 2015-07-05 10:48:58\n Committed on 2015-07-05 10:46:27 - Aurelien Lourot - Minor cleanup.\n Committed on 2015-07-05 09:39:01 - Aurelien Lourot - watchlist command implemented.\n Committed on 2015-07-05 09:12:00 - Aurelien Lourot - argparse added.\n\n--------------\n\n **NOTE:** keep in mind that a commit's *committer timestamp* isn't\n the time at which it gets pushed.\n\nList last commits on repos watched by a user\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n::\n\n $ gicowa lastwatchedcommits AurelienLourot since 2015 07 04 00 00 00\n lastwatchedcommits AurelienLourot since 2015-07-04 00:00:00\n AurelienLourot/crouton-emacs-conf - Last commit pushed on 2015-07-04 17:10:18\n AurelienLourot/crouton-emacs-conf - Committed on 2015-07-04 17:08:48 - Aurelien Lourot - Support for Del key.\n brillout/FasterWeb - Last commit pushed on 2015-07-04 16:40:54\n brillout/FasterWeb - Committed on 2015-07-04 16:38:55 - brillout - add README\n AurelienLourot/github-commit-watcher - Last commit pushed on 2015-07-05 10:48:58\n AurelienLourot/github-commit-watcher - Committed on 2015-07-05 10:46:27 - Aurelien Lourot - Minor cleanup.\n AurelienLourot/github-commit-watcher - Committed on 2015-07-05 09:39:01 - Aurelien Lourot - watchlist command implemented.\n AurelienLourot/github-commit-watcher - Committed on 2015-07-05 09:12:00 - Aurelien Lourot - argparse added.\n AurelienLourot/github-commit-watcher - Committed on 2015-07-05 09:07:14 - AurelienLourot - Initial commit\n\n--------------\n\n **NOTE:** if you're watching 15 repos or more, you probably want to\n use the ``--credentials`` option to make sure you don't hit the\n GitHub API rate limit.\n\nList last commits since last run\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAny listing command taking a ``since `` argument takes also a\n``sincelast`` one. It will then use the time where that same command has\nbeen run for the last time on that machine with the option\n``--persist``. This option makes ``gicowa`` remember the last execution\ntime of each command in ``~/.gicowa``.\n\n::\n\n $ gicowa --persist lastwatchedcommits AurelienLourot sincelast\n lastwatchedcommits AurelienLourot since 2015-07-05 20:17:46\n $ gicowa --persist lastwatchedcommits AurelienLourot sincelast\n lastwatchedcommits AurelienLourot since 2015-07-05 20:25:33\n\nSend output by e-mail\n~~~~~~~~~~~~~~~~~~~~~\n\nYou can send the output of any command to yourself by e-mail:\n\n::\n\n $ gicowa --no-color --mailto myself@mydomain.com lastwatchedcommits AurelienLourot since 2015 07 04 00 00 00\n lastwatchedcommits AurelienLourot since 2015-07-04 00:00:00\n AurelienLourot/crouton-emacs-conf - Last commit pushed on 2015-07-04 17:10:18\n AurelienLourot/crouton-emacs-conf - Committed on 2015-07-04 17:08:48 - Aurelien Lourot - Support for Del key.\n brillout/FasterWeb - Last commit pushed on 2015-07-04 16:40:54\n brillout/FasterWeb - Committed on 2015-07-04 16:38:55 - brillout - add README\n AurelienLourot/github-commit-watcher - Last commit pushed on 2015-07-05 10:48:58\n AurelienLourot/github-commit-watcher - Committed on 2015-07-05 10:46:27 - Aurelien Lourot - Minor cleanup.\n AurelienLourot/github-commit-watcher - Committed on 2015-07-05 09:39:01 - Aurelien Lourot - watchlist command implemented.\n AurelienLourot/github-commit-watcher - Committed on 2015-07-05 09:12:00 - Aurelien Lourot - argparse added.\n AurelienLourot/github-commit-watcher - Committed on 2015-07-05 09:07:14 - AurelienLourot - Initial commit\n Sent by e-mail to myself@mydomain.com\n\n--------------\n\n **NOTES:**\n\n - You probably want to use ``--no-color`` because your e-mail\n client is likely not to render the bash color escape sequences\n properly.\n - The e-mails are likely to be considered as spam until you mark\n one as non-spam in your e-mail client. Or use the ``--mailfrom``\n option.\n\nChangelog\n---------\n\n**1.2.3** (2015-10-17) to **1.2.5** (2015-10-19):\n\n- Exception on non-ASCII characters fixed.\n\n**1.2.2** (2015-10-12):\n\n- Machine name appended to e-mail content.\n\n**1.2.1** (2015-08-20):\n\n- Documentation improved.\n\n**1.2.0** (2015-08-20):\n\n- ``--version`` option implemented.\n\n**1.1.0** (2015-08-20):\n\n- ``--errorto`` option implemented.\n\n**1.0.1** (2015-08-18) to **1.0.9** (2015-08-19):\n\n- Documentation improved.\n\nContributors\n------------\n\n- `Aurelien Lourot `_\n- `cassiodoroVicinetti `_", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/AurelienLourot/github-commit-watcher/tarball/1.2.5", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/AurelienLourot/github-commit-watcher", "keywords": "gicowa,github,commit,commits,watcher,watch,push,pushed,notification,notifications", "license": "public domain", "maintainer": null, "maintainer_email": null, "name": "gicowa", "package_url": "https://pypi.org/project/gicowa/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/gicowa/", "project_urls": { "Download": "https://github.com/AurelienLourot/github-commit-watcher/tarball/1.2.5", "Homepage": "https://github.com/AurelienLourot/github-commit-watcher" }, "release_url": "https://pypi.org/project/gicowa/1.2.5/", "requires_dist": null, "requires_python": null, "summary": "GitHub Commit Watcher", "version": "1.2.5" }, "last_serial": 1776964, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "f32ad75378415c6034f0e5b5a9a80fc7", "sha256": "bc7edf4359d5459127f40cd137ff41eca180f3608f9c1007e4827850420508a5" }, "downloads": -1, "filename": "gicowa-1.0.0.tar.gz", "has_sig": false, "md5_digest": "f32ad75378415c6034f0e5b5a9a80fc7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7265, "upload_time": "2015-08-17T21:31:05", "url": "https://files.pythonhosted.org/packages/82/d1/26b3b7eb067d4d4f68cabd1d3b45837816cffae0f9cce96e409cd77823cd/gicowa-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "9d91be4658409b28b54728a0ad49e3ff", "sha256": "dd81aaff376755594de1418d456b1d2766ac71a338a5fd4283f7d0ec7e9d6bfe" }, "downloads": -1, "filename": "gicowa-1.0.1.tar.gz", "has_sig": false, "md5_digest": "9d91be4658409b28b54728a0ad49e3ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7277, "upload_time": "2015-08-18T06:44:59", "url": "https://files.pythonhosted.org/packages/19/e9/e61607ebf1446abf8e76914406081d8c1310097b076680da843efdecf689/gicowa-1.0.1.tar.gz" } ], "1.0.2": [], "1.0.3": [ { "comment_text": "", "digests": { "md5": "3c9a83c7bf023627f08d7bf5176e89e8", "sha256": "2e3dfaf04a1964253f1d1d3f4da007c4ff71a6b8215dcb76dd61b01ec151a1f1" }, "downloads": -1, "filename": "gicowa-1.0.3.tar.gz", "has_sig": false, "md5_digest": "3c9a83c7bf023627f08d7bf5176e89e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6354, "upload_time": "2015-08-18T07:29:31", "url": "https://files.pythonhosted.org/packages/f6/32/5d9f5f7f9d3a617160b60019ba657265ba2b2e7fb3d3c451f8a9f0cac39a/gicowa-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "2320c3dfe3e35efa311fd9896d3343ec", "sha256": "b62f3c0c5977beed9b8a5b3c273c72adbbfefd6013c8f1d07528fbbc0ac52a52" }, "downloads": -1, "filename": "gicowa-1.0.4.tar.gz", "has_sig": false, "md5_digest": "2320c3dfe3e35efa311fd9896d3343ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7332, "upload_time": "2015-08-18T07:35:54", "url": "https://files.pythonhosted.org/packages/8d/6a/1dc50494b4d36c52cf35210ae28bed4e14152f211020d8ce7d466a574728/gicowa-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "ae1d9ab4793542baac35ee0e62a6aa2d", "sha256": "d20a84294df30aa2dca0e9f57ceb590b825a180dc27b8377da32e7248c91ff7b" }, "downloads": -1, "filename": "gicowa-1.0.5.tar.gz", "has_sig": false, "md5_digest": "ae1d9ab4793542baac35ee0e62a6aa2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7328, "upload_time": "2015-08-18T07:37:23", "url": "https://files.pythonhosted.org/packages/19/0b/b9e6dd7e984310fcedadac71e850d23cc175c91cc1fe627724271f26d9ce/gicowa-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "0eb14f2136ef38b7ca95cde6a6df2481", "sha256": "47708329ac182e30d463e7c1fa81f1fc4c97bcacd24717b47deaa1a8136605cc" }, "downloads": -1, "filename": "gicowa-1.0.6.tar.gz", "has_sig": false, "md5_digest": "0eb14f2136ef38b7ca95cde6a6df2481", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7510, "upload_time": "2015-08-19T13:24:21", "url": "https://files.pythonhosted.org/packages/9b/9a/ee30a26175f1feecd84588132c24d6ec61f3306f2310bc7ccc4284b481eb/gicowa-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "981635ad9d991a4421580bec0a7d3bfa", "sha256": "9878c39580ea6e7e4072d16a1fdcc96d764df5b95ada9da50d9bcb4fb91d05e9" }, "downloads": -1, "filename": "gicowa-1.0.7.tar.gz", "has_sig": false, "md5_digest": "981635ad9d991a4421580bec0a7d3bfa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7524, "upload_time": "2015-08-19T14:08:16", "url": "https://files.pythonhosted.org/packages/7e/26/24ce967e4fd86ea984aa85c44be2b54257dc607bd6c46769959538aea9aa/gicowa-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "9dbdeb57e63deed2603d092bffb9a4e6", "sha256": "efea12bd13f309084ffc1e58582f4e77425a58c997687c49f4c8315469c2cf12" }, "downloads": -1, "filename": "gicowa-1.0.8.tar.gz", "has_sig": false, "md5_digest": "9dbdeb57e63deed2603d092bffb9a4e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7694, "upload_time": "2015-08-19T15:28:00", "url": "https://files.pythonhosted.org/packages/4c/7b/b54d405ad7d049609a0772bc272754b1f5a39acdf811291f9ddce993fef0/gicowa-1.0.8.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "2a6231d158a4a020974ed15e2e57fae6", "sha256": "6ef298f538e1466b42323f96350cc7d90cbe2952c94043e9504a4bc02e9304a7" }, "downloads": -1, "filename": "gicowa-1.0.9.tar.gz", "has_sig": false, "md5_digest": "2a6231d158a4a020974ed15e2e57fae6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8558, "upload_time": "2015-08-19T17:03:50", "url": "https://files.pythonhosted.org/packages/9b/33/1413e1b0042da43dc9af2db73ed84ed490fc9afdd249932e96f121c4bd4d/gicowa-1.0.9.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "6481fbbd59fc2228584792f361cb78ad", "sha256": "5ec3d9081f46aa2ef7446c9a70abc607f488f56b2a285ea923d892d141cb5e7f" }, "downloads": -1, "filename": "gicowa-1.1.0.tar.gz", "has_sig": false, "md5_digest": "6481fbbd59fc2228584792f361cb78ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8665, "upload_time": "2015-08-19T22:09:56", "url": "https://files.pythonhosted.org/packages/df/db/4b02697e3147cf2b47c87b972f0fd3dfad6d0e0c2eec237c19144dae2f3f/gicowa-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "fbef47f1a95b0229551e69bdade13a71", "sha256": "abc649ee0699d43bede7a95dea9b67d2234254b4eb03d613b699c13f55198121" }, "downloads": -1, "filename": "gicowa-1.2.0.tar.gz", "has_sig": false, "md5_digest": "fbef47f1a95b0229551e69bdade13a71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8727, "upload_time": "2015-08-19T22:28:13", "url": "https://files.pythonhosted.org/packages/a0/18/970b303a37b55c00413aa793660bb9ac0bd317d681f97409d8d1be1a1217/gicowa-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "082ccaf13343451dc4256cac7d0b0cb3", "sha256": "eba218aa7854a3513606f91d81a8a3eb5c5fdbc93bb5174d96c31090e62c0452" }, "downloads": -1, "filename": "gicowa-1.2.1.tar.gz", "has_sig": false, "md5_digest": "082ccaf13343451dc4256cac7d0b0cb3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8780, "upload_time": "2015-08-19T22:36:38", "url": "https://files.pythonhosted.org/packages/13/49/aba3be1558857f2dab6834a6f2c6aad9bf89b7d4e77d7e4c7e0954f971ef/gicowa-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "17342910c8973d489bb56510300fccd5", "sha256": "acca7b28898f11f6800118b4567c15f7fda69aa19894a50164031daf8635f7cf" }, "downloads": -1, "filename": "gicowa-1.2.2.tar.gz", "has_sig": false, "md5_digest": "17342910c8973d489bb56510300fccd5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10803, "upload_time": "2015-10-12T10:42:59", "url": "https://files.pythonhosted.org/packages/73/5d/7fb1778c344bba621559b0eac720740d282d4ede4d03f27da0fd69b5958a/gicowa-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "ad30773c95e10b0de88b37bff39bf998", "sha256": "d539dfd8c430c2d1870f42d15322a2fef9f062c6ea61ddf48c1796f0905728ea" }, "downloads": -1, "filename": "gicowa-1.2.3.tar.gz", "has_sig": false, "md5_digest": "ad30773c95e10b0de88b37bff39bf998", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10948, "upload_time": "2015-10-17T15:47:57", "url": "https://files.pythonhosted.org/packages/1b/6a/484590e1f292f20e1aff935fadb725d12012aed0d54bfb7cd04a01233d57/gicowa-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "06bbc5071cb68c2f7d397943ed52e0de", "sha256": "b8c44cc9e9879c3602463348587fdbbfe15ead749d390ac5a445c30bb79b0584" }, "downloads": -1, "filename": "gicowa-1.2.4.tar.gz", "has_sig": false, "md5_digest": "06bbc5071cb68c2f7d397943ed52e0de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11079, "upload_time": "2015-10-19T19:16:02", "url": "https://files.pythonhosted.org/packages/b0/59/0340763188318550aebc655049570627764e25af9525d7d7015afb82cba4/gicowa-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "f357bfcc52d0502a589c8a9d0d8efbbf", "sha256": "8e615fffc06cf5df8a1d3d8d652e53a24de00d55522a37abfa9833f1ec9ec80c" }, "downloads": -1, "filename": "gicowa-1.2.5.tar.gz", "has_sig": false, "md5_digest": "f357bfcc52d0502a589c8a9d0d8efbbf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11088, "upload_time": "2015-10-19T21:04:01", "url": "https://files.pythonhosted.org/packages/74/f8/90acedb11c7a30971fbdc307603935699a3918355af40986bd6ca210aac7/gicowa-1.2.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f357bfcc52d0502a589c8a9d0d8efbbf", "sha256": "8e615fffc06cf5df8a1d3d8d652e53a24de00d55522a37abfa9833f1ec9ec80c" }, "downloads": -1, "filename": "gicowa-1.2.5.tar.gz", "has_sig": false, "md5_digest": "f357bfcc52d0502a589c8a9d0d8efbbf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11088, "upload_time": "2015-10-19T21:04:01", "url": "https://files.pythonhosted.org/packages/74/f8/90acedb11c7a30971fbdc307603935699a3918355af40986bd6ca210aac7/gicowa-1.2.5.tar.gz" } ] }