{ "info": { "author": "xiaxin", "author_email": "xiaxin0202@foxmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "## Luigi Monitor\n\n[![Pypi Latest Version](https://img.shields.io/pypi/v/luigi-monitor.svg)](https://img.shields.io/pypi/v/luigi-monitor.svg)\n[![License](https://img.shields.io/pypi/l/luigi-monitor.svg)](https://img.shields.io/pypi/l/luigi-monitor.svg)\n[![Python Versions](https://img.shields.io/pypi/pyversions/luigi-monitor.svg)](https://img.shields.io/pypi/pyversions/luigi-monitor.svg)\n[![Pypi Format](https://img.shields.io/pypi/format/luigi-monitor.svg)](https://img.shields.io/pypi/format/luigi-monitor.svg)\n[![Build Status](https://travis-ci.com/hudl/luigi-monitor.svg?branch=master)](https://travis-ci.com/hudl/luigi-monitor)\n\n\n![message](https://raw.github.com/hudl/luigi-monitor/master/message.png)\n\nSend summary messages of your Luigi jobs to Slack.\n\n### Overview\n\n[Luigi](https://github.com/spotify/luigi) is a great tool for making\njob pipelines, but it's hard to know the status of a run. Luigi has\nsupport for error emails, but this requires configuring your machine\nto send email, which is a hassle for short-lived EMR clusters. Further,\nit sends an email for every failure, which can quickly swamp your inbox.\n\nBy contrast, this tool gathers all your failures and missing dependencies\nand sends a summary Slack message when the job is finished.\n\n### Usage\n\nWith default app username:\n```python\nimport luigi\nfrom luigi_monitor import monitor\n\n...\n\nif __name__ == \"__main__\":\n with monitor(slack_url=, max_print=10):\n luigi.run(main_task_cls=MainClass)\n\n```\n\nWith dynamic app username:\n```python\nimport luigi\nfrom luigi_monitor import monitor\n\n...\n\nif __name__ == \"__main__\":\n with monitor(slack_url=, max_print=10, username=\"FooBar Monitor\"):\n luigi.run(main_task_cls=MainClass)\n\n```\n\nMonitoring and notifying on various events:\n\nCurrently supports: `SUCCESS`, `DEPENDENCY_MISSING`, and `FAILURE` \n\nBy default, all three of the above are monitored and notified on. If, `SUCCESS` event is monitored and \nall tasks succeed then the notification text is \"Job ran successfully\" instead of listing _all_ \nsuccessful tasks. \n\n```python\nimport luigi\nfrom luigi_monitor import monitor\n\n...\n\nif __name__ == \"__main__\":\n with monitor(slack_url=, events=['DEPENDENCY_MISSING', 'FAILURE']):\n luigi.run(main_task_cls=MainClass)\n```\n\nAlternatively:\n\n`luigi-monitor --module path.to.module TaskName`\n\nNB: if you plan to use luigi-monitor from the command line, set options using `luigi.cfg`:\n```\n[luigi-monitor]\nslack_url=\nmax_print=\nusername=\n```\n\n\nThis is a work in progress. Particularly, note that:\n\n* It only sends notifications via Slack", "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/Foristkirito/luigi-monitor", "keywords": "luigi", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "fluigi-monitor", "package_url": "https://pypi.org/project/fluigi-monitor/", "platform": "", "project_url": "https://pypi.org/project/fluigi-monitor/", "project_urls": { "Homepage": "https://github.com/Foristkirito/luigi-monitor" }, "release_url": "https://pypi.org/project/fluigi-monitor/1.1.6/", "requires_dist": null, "requires_python": "", "summary": "Send summary messages of your Luigi jobs to Slack.", "version": "1.1.6" }, "last_serial": 5674337, "releases": { "1.1.4": [ { "comment_text": "", "digests": { "md5": "f53d35e538fb4ef2fcee8c1f064a847e", "sha256": "7be886c579f97968cc927c707e55610f43edd3d78b8fc496f381baedfb07d484" }, "downloads": -1, "filename": "fluigi_monitor-1.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f53d35e538fb4ef2fcee8c1f064a847e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5132, "upload_time": "2019-07-12T03:40:44", "url": "https://files.pythonhosted.org/packages/f7/18/25bb57b6e1e1f2e859026ad98dda72ba4760fab4e8d6cd73c96fafe24719/fluigi_monitor-1.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5997e0052926e7651722024e311515b7", "sha256": "22a9914c696429b5640a34981e3e359135c6c56ca7667d957c14a0cb6303a07e" }, "downloads": -1, "filename": "fluigi-monitor-1.1.4.tar.gz", "has_sig": false, "md5_digest": "5997e0052926e7651722024e311515b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4620, "upload_time": "2019-07-12T03:25:55", "url": "https://files.pythonhosted.org/packages/4f/8a/9ae876df1acc37268cde2271df601c174c504e68f91b1dd010174e4dece1/fluigi-monitor-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "da97be46f745484ecca645a485f7dcdb", "sha256": "8b90acf28c0744dee8de01d55f22aada644795970849001efe151e76f07d3b34" }, "downloads": -1, "filename": "fluigi_monitor-1.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "da97be46f745484ecca645a485f7dcdb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7462, "upload_time": "2019-07-12T03:45:26", "url": "https://files.pythonhosted.org/packages/35/18/d07b5fbce039adefd69e16ef6abf07b9659c806d6f4afb9453d43e33ba09/fluigi_monitor-1.1.5-py2.py3-none-any.whl" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "da258b31999d653f99c935e35e257def", "sha256": "f27522597276f1a0345e3f6cd46d9f43d2446c8ecb2352342cf8117a7e6b358c" }, "downloads": -1, "filename": "fluigi-monitor-1.1.6.tar.gz", "has_sig": false, "md5_digest": "da258b31999d653f99c935e35e257def", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4569, "upload_time": "2019-08-14T01:40:41", "url": "https://files.pythonhosted.org/packages/42/d2/6475dbbccbf8311d0b1c2006edf83a5b626b6f8aa1f622ba898be5e30efe/fluigi-monitor-1.1.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "da258b31999d653f99c935e35e257def", "sha256": "f27522597276f1a0345e3f6cd46d9f43d2446c8ecb2352342cf8117a7e6b358c" }, "downloads": -1, "filename": "fluigi-monitor-1.1.6.tar.gz", "has_sig": false, "md5_digest": "da258b31999d653f99c935e35e257def", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4569, "upload_time": "2019-08-14T01:40:41", "url": "https://files.pythonhosted.org/packages/42/d2/6475dbbccbf8311d0b1c2006edf83a5b626b6f8aa1f622ba898be5e30efe/fluigi-monitor-1.1.6.tar.gz" } ] }