{ "info": { "author": "Tim Birkett", "author_email": "tim.birkett@devopsmakers.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Utilities" ], "description": "# `grafannotate`\n\n[![Build Status](https://travis-ci.org/devopsmakers/python-grafannotate.svg?branch=master)](https://travis-ci.org/devopsmakers/python-grafannotate)\n[![Coverage Status](https://coveralls.io/repos/github/devopsmakers/python-grafannotate/badge.svg?branch=master)](https://coveralls.io/github/devopsmakers/python-grafannotate?branch=master)\n[![PyPI version](https://badge.fury.io/py/grafannotate.svg)](https://badge.fury.io/py/grafannotate)\n\nA CLI tool to send Grafana annotations to various destinations.\n\n## Installation\n```\npip install grafannotate\n```\n\n## Usage\n\n```\ngrafannotate --help\nUsage: grafannotate [OPTIONS]\n\n Send Grafana annotations\n\nOptions:\n -u, --uri TEXT URI to send annotation to. Default:\n \"http://localhost:3000/api/annotations\".\n -T, --title TEXT Event title. Default: \"event\".\n -t, --tag TEXT Event tags (can be used multiple times).\n -d, --description TEXT Event description body. Optional.\n -s, --start INTEGER Start timestamp (unix secs). Default: current\n timestamp.\n -e, --end INTEGER End timestamp (unix secs). Optional.\n --help Show this message and exit.\n ```\n\n### Examples\n1. Send an annotation to Grafana API for current time\n```\ngrafannotate --uri http://user:password@grafana:3000/api/annotations --tag my_tag --title \"Event Title\"\n```\n\n2. Send an annotation to Grafana API for a time region\n```\ngrafannotate --uri http://user:password@grafana:3000/api/annotations --tag my_tag --title \"Event Title\" --start 1557222057 --end 1557222259\n```\n\n3. Send an annotation to Grafana API with an extended description\n```\ngrafannotate --uri http://user:password@grafana:3000/api/annotations --tag my_tag --title \"Event Title\" --description \"Some longer description
with newlines
and links\"\n```\n\n4. Pipe output to an annotation description\n```\nSTART_TIME=`date +%s`\ncommand_with_output | grafannotate --uri http://user:password@grafana:3000/api/annotations --tag my_tag --title \"Event Title\" --start $START_TIME\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/devopsmakers/python-grafannotate", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "grafannotate", "package_url": "https://pypi.org/project/grafannotate/", "platform": "any", "project_url": "https://pypi.org/project/grafannotate/", "project_urls": { "Homepage": "https://github.com/devopsmakers/python-grafannotate" }, "release_url": "https://pypi.org/project/grafannotate/0.1.1/", "requires_dist": [ "click (==6.7)", "requests (==2.21.0)", "influxdb (==5.2.2)" ], "requires_python": "", "summary": "Send annotations to Grafana", "version": "0.1.1" }, "last_serial": 5354522, "releases": { "0.0.10": [ { "comment_text": "", "digests": { "md5": "67c4a8a555fd5f8b5769d2ea36459ca6", "sha256": "cbd84534aa3daad44af3a93921022a8375581550f28f2efd359b6813797502aa" }, "downloads": -1, "filename": "grafannotate-0.0.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "67c4a8a555fd5f8b5769d2ea36459ca6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4839, "upload_time": "2019-05-12T19:03:16", "url": "https://files.pythonhosted.org/packages/97/88/23a89a8e569775474fff9fdf4897522b34af7d111eb807bad98073c0272c/grafannotate-0.0.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f6a9e8271dac9c1385c761e2832149e7", "sha256": "a3295e743489bc59c0f9a9613e9256adfcd6120daad657793d94ccfa03782539" }, "downloads": -1, "filename": "grafannotate-0.0.10.tar.gz", "has_sig": false, "md5_digest": "f6a9e8271dac9c1385c761e2832149e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3821, "upload_time": "2019-05-12T19:03:17", "url": "https://files.pythonhosted.org/packages/90/e9/147e733ca4f0e50c4632a6c0e28f4d4b5de4a097df55223f3fb1427a8ac6/grafannotate-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "48b18f0196d05461a525f09a10594eb8", "sha256": "d6d25b048471e835b3bb66b7b955c9a8ad5ff8b275e62360ba7ec61ab3fafea1" }, "downloads": -1, "filename": "grafannotate-0.0.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "48b18f0196d05461a525f09a10594eb8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4892, "upload_time": "2019-05-12T19:19:00", "url": "https://files.pythonhosted.org/packages/1c/94/c7e638ae595abdd599b6300362d7ce508448f4b2a01c5931ef96b955c64c/grafannotate-0.0.11-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e52df415b1ef225e5680a2d672724b04", "sha256": "e74a559e69c445c0f81008ce20e510ffbe535873f94cbab6745ec4b9bbf06b02" }, "downloads": -1, "filename": "grafannotate-0.0.11.tar.gz", "has_sig": false, "md5_digest": "e52df415b1ef225e5680a2d672724b04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3873, "upload_time": "2019-05-12T19:19:01", "url": "https://files.pythonhosted.org/packages/7f/3a/dd9f6623364590edd9e50fe2d4c5360b856db7beba13778e5a0f275b1c00/grafannotate-0.0.11.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "b332a0dee60d18b817ad77b68ee01dfd", "sha256": "d7a117a2a6e0390387c92635b5e38a7a043e9ce3a91a4553d48e85a64cfb37ba" }, "downloads": -1, "filename": "grafannotate-0.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b332a0dee60d18b817ad77b68ee01dfd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4025, "upload_time": "2019-05-06T21:47:05", "url": "https://files.pythonhosted.org/packages/04/1b/758b4fbd179b3db5e1e1c6efe761af77e864628aa659f618ea76d573f125/grafannotate-0.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e53fb62e08f1b031bfde80da953c138a", "sha256": "f63765532b6f4a945d31b92f8adbbf7e2ba9cca29e3f5e3fc9fff99dfc5d4f78" }, "downloads": -1, "filename": "grafannotate-0.0.4.tar.gz", "has_sig": false, "md5_digest": "e53fb62e08f1b031bfde80da953c138a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2988, "upload_time": "2019-05-06T21:47:07", "url": "https://files.pythonhosted.org/packages/41/3b/b528582ede3c026695d54551e513371621285469927bbae8975d50b0c96f/grafannotate-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "89ce7525fe085131e13f6160deccc257", "sha256": "1e8c1e87305c0976f5719190338f819ce3f8832b421fc72b8bc80982d74cf1df" }, "downloads": -1, "filename": "grafannotate-0.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "89ce7525fe085131e13f6160deccc257", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4051, "upload_time": "2019-05-07T08:33:11", "url": "https://files.pythonhosted.org/packages/40/14/416558c03d837ee4aa808063836a8521abff7b91de1759b46fb3588086bc/grafannotate-0.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c0a58cfa2e7142028b6e2979c703d86", "sha256": "a661c3e03a5c23edf10288c2387f092e152bb603f32457f4c5e909fa53dbbbde" }, "downloads": -1, "filename": "grafannotate-0.0.5.tar.gz", "has_sig": false, "md5_digest": "7c0a58cfa2e7142028b6e2979c703d86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3014, "upload_time": "2019-05-07T08:33:13", "url": "https://files.pythonhosted.org/packages/d8/08/b53978ca04c04f1317f0778a6b1b59f1b8bbd1a057e2487166e14b6545b7/grafannotate-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "4b2c20f3820fd33703a896dfb7ecd257", "sha256": "f4e762701b22647fdf52d5501e9a6bf0021f2c5eed908fff4dfd46864a376f2e" }, "downloads": -1, "filename": "grafannotate-0.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4b2c20f3820fd33703a896dfb7ecd257", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4053, "upload_time": "2019-05-07T09:23:45", "url": "https://files.pythonhosted.org/packages/b9/fa/8e5ad33d09945f04f9bd900cff7dcb9b86b4fdbce413a5016b8a478ab29b/grafannotate-0.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ecb5a2689e9653062954d2a0d51fca78", "sha256": "1d15c0ad6580d569b6f27a9ade5961c7ac47ee644f0e21cff7f383580fe53804" }, "downloads": -1, "filename": "grafannotate-0.0.6.tar.gz", "has_sig": false, "md5_digest": "ecb5a2689e9653062954d2a0d51fca78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3016, "upload_time": "2019-05-07T09:23:46", "url": "https://files.pythonhosted.org/packages/73/a3/90ce4204e91e188fe5199af02d1b37e2f5c10098176b2a999adc8abc8384/grafannotate-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "126e2c3c8cabc575278529df2f0230b4", "sha256": "b80585ade921f14612c5f646a1b2e04c5593a7a5f05fccdc6fc7128bf6131428" }, "downloads": -1, "filename": "grafannotate-0.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "126e2c3c8cabc575278529df2f0230b4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4114, "upload_time": "2019-05-07T09:34:45", "url": "https://files.pythonhosted.org/packages/00/f4/5da6ba5cbe66b34e0acdf0e1731e232ea15c5249331e2b77be0688279a17/grafannotate-0.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "33be6d3abea8d7cc623567237bc12e32", "sha256": "d9045a5853c991fab04b22238a4e17e26cf87cf6adc50e2755cf81c5054d102b" }, "downloads": -1, "filename": "grafannotate-0.0.7.tar.gz", "has_sig": false, "md5_digest": "33be6d3abea8d7cc623567237bc12e32", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3076, "upload_time": "2019-05-07T09:34:47", "url": "https://files.pythonhosted.org/packages/96/4b/38116cadecf0b467bff60a24010a5abc47d2d6b8265180d88c6efe9c85c6/grafannotate-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "29ff8a433be4b78fcf782af4ba8e16e1", "sha256": "1cbe9d2ebd30a7a06172f90110aa060e88324ddbb4110c3fe648ffab67d03147" }, "downloads": -1, "filename": "grafannotate-0.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "29ff8a433be4b78fcf782af4ba8e16e1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4811, "upload_time": "2019-05-07T10:38:16", "url": "https://files.pythonhosted.org/packages/8e/e5/10473ae6c0b352852250575cc7f19d3429bfa25e6f0b2ce6d62ab5f6bad3/grafannotate-0.0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5404ed7da2e173e55408e198b2cc65b", "sha256": "113fbcccc1f1860acc5bf91e12ef6a7a36456bde41ee830fd89799d0b8b62316" }, "downloads": -1, "filename": "grafannotate-0.0.8.tar.gz", "has_sig": false, "md5_digest": "b5404ed7da2e173e55408e198b2cc65b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3792, "upload_time": "2019-05-07T10:38:18", "url": "https://files.pythonhosted.org/packages/8d/23/439d71dfe2200fee0b79caedc7298a501d5a2ad086aebd4b6d7171ca3797/grafannotate-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "7383a229e12c466f1c0b147187763882", "sha256": "b07cddded389b4e40595b8fc0c99dce3e0beb74acba0bab036ab99fc0f89c777" }, "downloads": -1, "filename": "grafannotate-0.0.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7383a229e12c466f1c0b147187763882", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4808, "upload_time": "2019-05-07T11:02:46", "url": "https://files.pythonhosted.org/packages/94/4a/ed3fabcdc61fce48eb9eea7ac54dec5bbba54c2b3bcc9d18820cc4651dcf/grafannotate-0.0.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "158c32a22149a2d4afff449ed4416e47", "sha256": "a8380d76ca1ba4b32e9ad0f1e9b7d5c593af81445dbb2826ae0f55fdacd436e0" }, "downloads": -1, "filename": "grafannotate-0.0.9.tar.gz", "has_sig": false, "md5_digest": "158c32a22149a2d4afff449ed4416e47", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3808, "upload_time": "2019-05-07T11:02:47", "url": "https://files.pythonhosted.org/packages/74/da/55ded6a6bd300c9a52789a5129071e10a087b1639d2fb511bf4a73d1322b/grafannotate-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "857fa32d6cfb4bdc0e8c6973b4c78a31", "sha256": "ab3ce6c7480568ecdf101a10e1bd274340d8e86e6c687968af5d6741f9d74df4" }, "downloads": -1, "filename": "grafannotate-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "857fa32d6cfb4bdc0e8c6973b4c78a31", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5565, "upload_time": "2019-05-31T22:15:05", "url": "https://files.pythonhosted.org/packages/6b/37/ba19531d247fa382d55c994484eeec78f697dcea5131c884e4bf7315c734/grafannotate-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7dab1ee3fc7b36b2a05a42f496d9733e", "sha256": "75a76e6b2ed490c0db9d80b8647d2379f2ce6be9191a843c5fc54546575063c1" }, "downloads": -1, "filename": "grafannotate-0.1.0.tar.gz", "has_sig": false, "md5_digest": "7dab1ee3fc7b36b2a05a42f496d9733e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4295, "upload_time": "2019-05-31T22:15:06", "url": "https://files.pythonhosted.org/packages/93/31/7553566bfd3a1959881fc3c92a0e5e5e24f18d53e162ae9059e83c3b9692/grafannotate-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "f1cebe8bd6aab4493aaff39b881a94de", "sha256": "3bdc4507ea8baf730b005048454ae1118d425b72575a709da3e714764664c65a" }, "downloads": -1, "filename": "grafannotate-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f1cebe8bd6aab4493aaff39b881a94de", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5559, "upload_time": "2019-06-03T21:19:10", "url": "https://files.pythonhosted.org/packages/d0/97/6c1935a118173c76bf51a74e9ca495fde0fed9554b50a4f5d00449067d1f/grafannotate-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "313704bb3d99c405990ecb97f47f5506", "sha256": "bfaf6373e25a4fc5d935cbbd5a8d9757fd63084dfa9534b5907b01bb30c452cb" }, "downloads": -1, "filename": "grafannotate-0.1.1.tar.gz", "has_sig": false, "md5_digest": "313704bb3d99c405990ecb97f47f5506", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4285, "upload_time": "2019-06-03T21:19:11", "url": "https://files.pythonhosted.org/packages/e4/74/9f7013b4b8c69a8129ab04d4390d882ecf6b59f39b36ce89ec16795e8aaf/grafannotate-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f1cebe8bd6aab4493aaff39b881a94de", "sha256": "3bdc4507ea8baf730b005048454ae1118d425b72575a709da3e714764664c65a" }, "downloads": -1, "filename": "grafannotate-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f1cebe8bd6aab4493aaff39b881a94de", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5559, "upload_time": "2019-06-03T21:19:10", "url": "https://files.pythonhosted.org/packages/d0/97/6c1935a118173c76bf51a74e9ca495fde0fed9554b50a4f5d00449067d1f/grafannotate-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "313704bb3d99c405990ecb97f47f5506", "sha256": "bfaf6373e25a4fc5d935cbbd5a8d9757fd63084dfa9534b5907b01bb30c452cb" }, "downloads": -1, "filename": "grafannotate-0.1.1.tar.gz", "has_sig": false, "md5_digest": "313704bb3d99c405990ecb97f47f5506", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4285, "upload_time": "2019-06-03T21:19:11", "url": "https://files.pythonhosted.org/packages/e4/74/9f7013b4b8c69a8129ab04d4390d882ecf6b59f39b36ce89ec16795e8aaf/grafannotate-0.1.1.tar.gz" } ] }