{ "info": { "author": "Brad Belyeu", "author_email": "brad.belyeu@life.church", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Monitoring", "Topic :: Utilities" ], "description": "# Crony\n\nCron monitoring tool. It works well with cronitor.io & sentry.io\nCronitor.io can help you know if the tool doesn't start or end correctly. Or if it takes an\nabnormally long time to complete.\nSentry.io helps debugging by giving stack traces when your cron code fails.\n\n## Getting Started\n\nThis tool currently requires Python 3.6 or higher. There's a current issue to add Python 2\nsupport.\n\nIf you're on a Mac, it's as simple as running\n\n```\nbrew install python3\n```\n\nOr using whatever package manager for your system.\n\n### Prerequisites\n\nTo get the benefit of [Cronitor.io](https://cronitor.io) integration. You'll need to sign up for\nan account with them and setup a new \"Cron job\" monitor. When you setup your monitor, you'll\nreceive a link like\n\n```\nhttps://cronitor.link/6gVGE7/{ENDPOINT}\n```\n\nThe alphanumeric string after \"https://cronitor.link/\" and before the endpoint is your Cronitor\nunique identifier. You'll need to pass that to ``crony`` with --cronitor to integrate the cron\nmonitoring with cronitor.io.\n\nTo integration crony with Sentry.io for debugging & error tracking, you'll need to create an\naccount at [Sentry.io](https://sentry.io). After creating an account, you can setup a project\nfor your crons. Sentry will give you a DSN url that you'll need to integration with crony.\nYou can then specify your DSN when calling ``crony`` with ``--dsn``, or with a SENTRY_DSN\nenvironment variable, or by placing it inside a config file.\n\n### Installing\n\nSimply install with\n\n```\npip install crony\n```\n\nTo get a list of options use\n\n```\ncrony --help\n```\n\nCrony can wrap any shell command, try this\n\n```\ncrony echo \"hello world\"\n```\n\nView the [wiki](https://github.com/youversion/crony/wiki) for environment variables and\nconfiguration file options.\n\n## Running the tests\n\nThere's a current issue to write unit tests.\n\n### And coding style tests\n\nNew commits must pass pep8 & flake8 standards.\nThe only allowed exception is [pep8 line length](https://www.python.org/dev/peps/pep-0008/#maximum-line-length)\nis allowed to be up to 99 characters.\n\n```\npep8 . --max-line-length=99\n```\n\nShould yield 0 errors.\n\n```\nflake8 .\n```\n\nShould also yield 0 errors.\n\n## Built With\n\n* [Raven](https://github.com/getsentry/raven-python) - Python client for Sentry\n* [Requests](http://docs.python-requests.org/en/master/) - Requests: HTTP for Humans\n\n## Contributing\n\nPlease read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process\nfor submitting pull requests.\n\n## Versioning\n\nIdeally we'll use [SemVer](http://semver.org/) for versioning.\nFor the versions available, see the [tags on this repository](https://github.com/youversion/crony/tags).\n\n## Authors\n\n* **Brad Belyeu** - *Initial work* - [bbelyeu](https://github.com/bbelyeu)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.\n\n## Acknowledgments\n\n* Thanks to [PurpleBooth](https://gist.github.com/PurpleBooth/109311bb0361f32d87a2) for the README template\n* Thanks to [Jan-Philip](https://gehrcke.de/2014/02/distributing-a-python-command-line-application/) for the great blog post.\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/youversion/crony/archive/0.2.1.zip", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/youversion/crony", "keywords": "cron,monitoring,sentry.io,cronitor.io", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "crony", "package_url": "https://pypi.org/project/crony/", "platform": "unix", "project_url": "https://pypi.org/project/crony/", "project_urls": { "Download": "https://github.com/youversion/crony/archive/0.2.1.zip", "Homepage": "https://github.com/youversion/crony" }, "release_url": "https://pypi.org/project/crony/0.2.1/", "requires_dist": [ "raven (>=6.1.0)", "requests (>=2.18.4)" ], "requires_python": "", "summary": "Cron monitoring tool.", "version": "0.2.1" }, "last_serial": 3377749, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "7a0f8326c783e2781494444194ae8aa0", "sha256": "5afacc1fbc3a128dcb8cc6ec302e9a86c24c67d58654ae3d0b173e7b288b6551" }, "downloads": -1, "filename": "crony-0.1.0-py3.6.egg", "has_sig": false, "md5_digest": "7a0f8326c783e2781494444194ae8aa0", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 8235, "upload_time": "2017-09-14T16:19:33", "url": "https://files.pythonhosted.org/packages/bb/2c/19bc76dd41658c36c80dca6eadf5d748e1e09cbf5d9702e9465e9def8c45/crony-0.1.0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "e0d10041a51f81ae626b1f1441c9680e", "sha256": "8b92ba3c514b4d59904159e914658c099a4b5ae2773cf41d1a470700e92cde8d" }, "downloads": -1, "filename": "crony-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e0d10041a51f81ae626b1f1441c9680e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6254, "upload_time": "2017-09-14T16:19:32", "url": "https://files.pythonhosted.org/packages/e5/e6/5149ae0b9b6c9f859371689e3ce1dbb36ae49f6d4d1e259fad5ee8e42201/crony-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "16c14ad352b44d7d3194713bdf2ee2e7", "sha256": "04e40a53031e7da87a3c8c683f3fd899bb151fc04d410736a3cb916cea990bcd" }, "downloads": -1, "filename": "crony-0.1.0.tar.gz", "has_sig": false, "md5_digest": "16c14ad352b44d7d3194713bdf2ee2e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4463, "upload_time": "2017-09-14T16:19:34", "url": "https://files.pythonhosted.org/packages/13/82/1839e176ec4196e31915ac7e29fc5d5064d3a0504b3f3d57f6d0ce1dda4b/crony-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "ddea79828bba90b06798092d6d07549a", "sha256": "8d9aa478076cac1eccd86d5ccc4fa72e054e0644d8ca4acff4250df7ea26cac2" }, "downloads": -1, "filename": "crony-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ddea79828bba90b06798092d6d07549a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6255, "upload_time": "2017-09-15T15:13:05", "url": "https://files.pythonhosted.org/packages/5e/4f/3ad4b7270e2312f5e9df8dabbcd72fa9e8b054fa37c8c79a49f2a2cde996/crony-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f58d76556770f53ddd4af9d925f7daf", "sha256": "540064b472c8b6e1518c721b7f2c67f755078a7c8b13c634ed068f77c595e408" }, "downloads": -1, "filename": "crony-0.1.1.tar.gz", "has_sig": false, "md5_digest": "5f58d76556770f53ddd4af9d925f7daf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4483, "upload_time": "2017-09-15T15:13:07", "url": "https://files.pythonhosted.org/packages/c6/f1/9e4c0dfc70164fbf8a580f03f8a6ca1b233a655eb4645fa34b0f171867a4/crony-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "369aadb28c0b3ee412c94332d0dc09e3", "sha256": "9c8b016aa0d1c01c50fb429ce9756e1fc8f63bc6ec351eb9bc72fc02c0e544a5" }, "downloads": -1, "filename": "crony-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "369aadb28c0b3ee412c94332d0dc09e3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6269, "upload_time": "2017-09-15T18:00:45", "url": "https://files.pythonhosted.org/packages/dd/82/232976063948c2f9a56e672a68039482789bc1f7d183c9b5da04374b1787/crony-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3537516d724881f90511bd415aa82b35", "sha256": "c5ddd7198c8035ede7d07e4a1935b79451c54d3240d6a2d0644787bdb41ee5c5" }, "downloads": -1, "filename": "crony-0.1.2.tar.gz", "has_sig": false, "md5_digest": "3537516d724881f90511bd415aa82b35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4501, "upload_time": "2017-09-15T18:00:46", "url": "https://files.pythonhosted.org/packages/0a/61/1018bed8c698e12023a5360d7c994d38f4f7b7e8f38094f7b7a85f93cc78/crony-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "e25c9b36e1a56b3c7f1e412e34843f53", "sha256": "c75af09a08f2a8672e3ff25470e8651fdef0ba334f9bb4c1bc1cd252eb34a59b" }, "downloads": -1, "filename": "crony-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "e25c9b36e1a56b3c7f1e412e34843f53", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6269, "upload_time": "2017-09-15T18:09:32", "url": "https://files.pythonhosted.org/packages/38/91/e15b240464024ed6e9e62f36ad5ba767f58e59eaffbb06202f2a7351aab6/crony-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "81de798cee0d077715b8dc168d9bf89e", "sha256": "f2b6a2951b208ac7747956ed00c67b14b2780a38ec202f6053ab5e21ca2f7d76" }, "downloads": -1, "filename": "crony-0.1.3.tar.gz", "has_sig": false, "md5_digest": "81de798cee0d077715b8dc168d9bf89e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4508, "upload_time": "2017-09-15T18:09:33", "url": "https://files.pythonhosted.org/packages/ab/05/ed5bd953e731599a77970274406dafb98f79fc950b6e0319a5da483b3675/crony-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "afcf5928abce864bfcdff68b48ffb4c1", "sha256": "87b40e3bb398fdceed6a4745fac092c0eb3bb11765053016ba6c8a9fd0e3e86b" }, "downloads": -1, "filename": "crony-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "afcf5928abce864bfcdff68b48ffb4c1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9278, "upload_time": "2017-11-30T15:39:05", "url": "https://files.pythonhosted.org/packages/22/d9/f81f4b077e99ca819f512d7f185c21b125c2f89c865ed6f29adbdc1579cb/crony-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cdf057579732f688cf36a378ff6409bb", "sha256": "336af2dcdbc820ff4964697f6a9a6f8665ffb5308597c9ddf7ac931b89c8fd02" }, "downloads": -1, "filename": "crony-0.2.0.tar.gz", "has_sig": false, "md5_digest": "cdf057579732f688cf36a378ff6409bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6341, "upload_time": "2017-11-30T15:39:06", "url": "https://files.pythonhosted.org/packages/d4/49/7be85f7dc862aab61fac7c1ceefd2049bed49dec1450b3ef5e15358666df/crony-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "0a8cfbb930873b460feec99d2faa81e2", "sha256": "fe518929d4e5e624f5d1f48604c543e3a18c0fcedbd3c4e5484f4ffdc925b2cc" }, "downloads": -1, "filename": "crony-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0a8cfbb930873b460feec99d2faa81e2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9246, "upload_time": "2017-11-30T15:42:36", "url": "https://files.pythonhosted.org/packages/6f/00/351b613cd7541a096cda6b7fc331461f668ff7c3d59e80f9e98aa7070be7/crony-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "86f96ae50bc3e6afbe69263ac2a8cafd", "sha256": "a8ad094938056537fe28db2d8139494822a068045dbd44540e7b9149b2e46aa7" }, "downloads": -1, "filename": "crony-0.2.1.tar.gz", "has_sig": false, "md5_digest": "86f96ae50bc3e6afbe69263ac2a8cafd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6321, "upload_time": "2017-11-30T15:42:39", "url": "https://files.pythonhosted.org/packages/d6/39/2b8b16b7a2d0781161d9246edfe841febe256ed005e4bed67582d918c567/crony-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0a8cfbb930873b460feec99d2faa81e2", "sha256": "fe518929d4e5e624f5d1f48604c543e3a18c0fcedbd3c4e5484f4ffdc925b2cc" }, "downloads": -1, "filename": "crony-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0a8cfbb930873b460feec99d2faa81e2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9246, "upload_time": "2017-11-30T15:42:36", "url": "https://files.pythonhosted.org/packages/6f/00/351b613cd7541a096cda6b7fc331461f668ff7c3d59e80f9e98aa7070be7/crony-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "86f96ae50bc3e6afbe69263ac2a8cafd", "sha256": "a8ad094938056537fe28db2d8139494822a068045dbd44540e7b9149b2e46aa7" }, "downloads": -1, "filename": "crony-0.2.1.tar.gz", "has_sig": false, "md5_digest": "86f96ae50bc3e6afbe69263ac2a8cafd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6321, "upload_time": "2017-11-30T15:42:39", "url": "https://files.pythonhosted.org/packages/d6/39/2b8b16b7a2d0781161d9246edfe841febe256ed005e4bed67582d918c567/crony-0.2.1.tar.gz" } ] }