{ "info": { "author": "cmheisel", "author_email": "chris@heisel.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Information Technology", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "# jira-agile-extractor\n\n[![Build Status](https://travis-ci.org/cmheisel/agile-analytics.svg?branch=master)](https://travis-ci.org/cmheisel/agile-analytics)\n[![Coverage Status](https://coveralls.io/repos/github/cmheisel/agile-analytics/badge.svg?branch=master)](https://coveralls.io/github/cmheisel/agile-analytics?branch=master)\n[![Stories in Ready](https://badge.waffle.io/cmheisel/agile-analytics.svg?label=ready&title=Ready)](http://waffle.io/cmheisel/agile-analytics)\n\nExtract data about items from JIRA, output raw data and interesting reports\n\n## Architecture\n\nThe agile extractor is composed of several different components. Fetchers gather data, which is fed to one or more analyzer/reporters/writer combos.\n\n### Components\n\n#### Fetchers\n\nFetchers are responsible for getting raw data about tickets from agile data sources (JIRA, Trello, etc.)\n\nThey depend on fetcher specific configuration including things like API end points, credentials and search criteria.\n\nThey produce a set of AgileTicket objects with a known interface.\n\n#### Analyzers\n\nAnalyzers take in a set of AgileTicket objects and an analysis configuration and return a set of AnalyzedTicket objects that contain the original AgileTicket as well as additional data calculated in light of the analysis context.\n\nFor example, a CycleTime analyzer would look for a start_state and an end_state in the configuration, and calculate the days between those and store it as cycle_time on the AnalyzedTicket object.\n\n#### Reporters\n\nReporters take in a set of AnalyzedTicket objects and a report configuration and return a Report object. It has two standard attributes:\n* Table - A representation of the report as a 2 dimensional table, provides column headers, row labels, and values for each row/column combo\n* Summary - A key/value store of report specific data\n\n#### Writers\n\nWriters take in a Report and a WriterConfig can write it out a particular source. Examples:\n* CSV to standout\n* CSV to a file\n* Google spreadsheet\n* Plotly\n\n### Diagram\n\n```\n +-----------> Reporter: Distribution\n | title=Cycle Time Distribution\n | start_date=1/1/2015\n | end_date=3/31/2015\n | field=cycle_time\n |\n +-----------> Reporter: Throughput\n | title=Weekly Throughput\n | start_date=1/1/2015\n | end_date=3/31/2015\n | period=weekly\n |\n |\n |\n +-----------------> Analyzer: Cycle Time +\n | start_state=Backlog\n | end_state=Deployed\n | issue_types=Story\n |\nFetcher | +-----------> Reporter: Throughput\n source=JIRA +----------------> Analyzer: Defect + title=Escaped Defects\n filter=1111 | defect_types=Bug,Incident start_date=1/1/2015\n auth=user,pass | end_date=3/31/2015\n |\n |\n +----------------> Analyzer: Cycle Time +-----------> Reporter: Throughput\n start_state=Analysis title=Weekly Analysis Throughput\n end_state=Dev start_date=1/1/2015\n end_date=3/31/2015\n period=weekly\n```", "description_content_type": "", "docs_url": "https://pythonhosted.org/agile-analytics/", "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/cmheisel/agile-analytics", "keywords": "jira agile lean kanban metrics", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "agile-analytics", "package_url": "https://pypi.org/project/agile-analytics/", "platform": "", "project_url": "https://pypi.org/project/agile-analytics/", "project_urls": { "Homepage": "https://github.com/cmheisel/agile-analytics" }, "release_url": "https://pypi.org/project/agile-analytics/0.15.2/", "requires_dist": null, "requires_python": "", "summary": "Pulls data from agile systems and analyzes it.", "version": "0.15.2" }, "last_serial": 5173823, "releases": { "0.10": [ { "comment_text": "", "digests": { "md5": "47850b0081679c8d4acaf2c2a6c20293", "sha256": "071823da3654da477e4e0ba07a6993690e542512342141b14cabfbe6d9953fb5" }, "downloads": -1, "filename": "agile-analytics-0.10.tar.gz", "has_sig": false, "md5_digest": "47850b0081679c8d4acaf2c2a6c20293", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11321, "upload_time": "2016-09-29T00:50:18", "url": "https://files.pythonhosted.org/packages/3f/8a/b9d6df682d28aba4c3461fe9a75d7d0099ae9b7cce37ada9aeeeedc25c7c/agile-analytics-0.10.tar.gz" } ], "0.11": [ { "comment_text": "", "digests": { "md5": "7cea5882fbd49f806cf7483b6924ecf6", "sha256": "4feffc03df064769bf362b027e2b3d07c802bc86e0cd83e3c8611722dba60c23" }, "downloads": -1, "filename": "agile-analytics-0.11.tar.gz", "has_sig": false, "md5_digest": "7cea5882fbd49f806cf7483b6924ecf6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11336, "upload_time": "2016-11-04T17:34:40", "url": "https://files.pythonhosted.org/packages/04/2d/9eb56c6b13e33399b6de3a34339f60189f9bb6a8cb2973535890a33178f7/agile-analytics-0.11.tar.gz" } ], "0.12.1": [ { "comment_text": "", "digests": { "md5": "1b32de0639c8a06f6da0d715f2ee352d", "sha256": "8601822b51695e9bb548f94c3b3e9597d1f976e1ec3a88bf4f67f411719d55d3" }, "downloads": -1, "filename": "agile-analytics-0.12.1.tar.gz", "has_sig": false, "md5_digest": "1b32de0639c8a06f6da0d715f2ee352d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11348, "upload_time": "2016-11-23T14:49:59", "url": "https://files.pythonhosted.org/packages/fc/01/28d99a930fce5eb02c890233fc244328954768726c5c7e37894ffe624e3e/agile-analytics-0.12.1.tar.gz" } ], "0.13.0": [ { "comment_text": "", "digests": { "md5": "ebd4e145fff40cc3198635e5e9906b3f", "sha256": "9674c97229d873d90c3207b56828f94638370d82caf0e6a2e2cd4d1f826d30d5" }, "downloads": -1, "filename": "agile-analytics-0.13.0.tar.gz", "has_sig": false, "md5_digest": "ebd4e145fff40cc3198635e5e9906b3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11402, "upload_time": "2017-02-02T18:41:13", "url": "https://files.pythonhosted.org/packages/90/8c/b1d7a79e67f4b2a2ed4b4329a9cfe4a87e19dd015ce8c0b8b7d52b03d045/agile-analytics-0.13.0.tar.gz" } ], "0.13.1": [ { "comment_text": "", "digests": { "md5": "f7f406a4f4b872470beec7b503a38240", "sha256": "9efb8bafb4f9595a25caca5f4717407600927cfbbf7bb54f20d3f49b5038b7f1" }, "downloads": -1, "filename": "agile-analytics-0.13.1.tar.gz", "has_sig": false, "md5_digest": "f7f406a4f4b872470beec7b503a38240", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11405, "upload_time": "2017-02-03T15:31:40", "url": "https://files.pythonhosted.org/packages/08/7b/69bcec282d3bbeb7c9ec1e48f17ee55b0a4577dfa358a2da0e0915dc0bc4/agile-analytics-0.13.1.tar.gz" } ], "0.13.2": [ { "comment_text": "", "digests": { "md5": "9fff9ab2ff594f1555fc899a80658b6e", "sha256": "34cf6e1727568f20d5a384e012d954d06126d8ebfdbcada2744177d9481aa394" }, "downloads": -1, "filename": "agile-analytics-0.13.2.tar.gz", "has_sig": false, "md5_digest": "9fff9ab2ff594f1555fc899a80658b6e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11412, "upload_time": "2017-02-03T17:47:49", "url": "https://files.pythonhosted.org/packages/8a/59/a8245c0213e10c5b7b2887cb0af323adaa43966d4ddf8db3da273709a8a8/agile-analytics-0.13.2.tar.gz" } ], "0.14": [ { "comment_text": "", "digests": { "md5": "31ffa84077a41a02df8c0c63e44b4b68", "sha256": "e18b785fa2efc5dadad05353bebbb9db900fc57ebe78a66fcaa70399272a3a72" }, "downloads": -1, "filename": "agile-analytics-0.14.tar.gz", "has_sig": false, "md5_digest": "31ffa84077a41a02df8c0c63e44b4b68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11335, "upload_time": "2017-03-20T14:29:32", "url": "https://files.pythonhosted.org/packages/83/f8/33dab1969d13eb0be03f772a2b4f060bf28dce2e7af444dff364b54127ef/agile-analytics-0.14.tar.gz" } ], "0.15.1": [ { "comment_text": "", "digests": { "md5": "961dea62dfed969168138b63d3d837db", "sha256": "27fe8555b6bf9f8cfc20fba073a45b2a67664ebe0f5089ffb7ac8204183fd28b" }, "downloads": -1, "filename": "agile-analytics-0.15.1.tar.gz", "has_sig": false, "md5_digest": "961dea62dfed969168138b63d3d837db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11469, "upload_time": "2017-09-25T15:37:36", "url": "https://files.pythonhosted.org/packages/b8/39/343aa5180bf376fc569a683f846cb2f39ad254468e65510eb56862fbe856/agile-analytics-0.15.1.tar.gz" } ], "0.15.2": [ { "comment_text": "", "digests": { "md5": "8be6479a6f16829030d79365face0ccb", "sha256": "cfd723fa74522fc4ccb75f96e5a9ebd6aef7e69317c36e4e44e9908ea9b68487" }, "downloads": -1, "filename": "agile-analytics-0.15.2.tar.gz", "has_sig": false, "md5_digest": "8be6479a6f16829030d79365face0ccb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12877, "upload_time": "2019-04-22T17:55:38", "url": "https://files.pythonhosted.org/packages/90/41/6e0bcd3bae9f0680bed97247754364ba23525d9165b41b288142deb7ff0a/agile-analytics-0.15.2.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "f26f43b6e5f8f9804436b97966b2377e", "sha256": "beaf199342dd7c92485ab50cf2dacdf4d8c90f57e33ecf04d683600b74130c49" }, "downloads": -1, "filename": "agile-analytics-0.4.0.tar.gz", "has_sig": false, "md5_digest": "f26f43b6e5f8f9804436b97966b2377e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8735, "upload_time": "2016-07-31T17:44:31", "url": "https://files.pythonhosted.org/packages/7f/4c/f87089bc8a2db28697d10890ea0e30f743d355c1e44db5463a3d60c1eb58/agile-analytics-0.4.0.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "062d06dc43c54f762451fab6679a0ed1", "sha256": "4fe64802c54259a8918c92ad74b4be00a459d5ebd5affe649377d3ca38c8b53a" }, "downloads": -1, "filename": "agile-analytics-0.4.3.tar.gz", "has_sig": false, "md5_digest": "062d06dc43c54f762451fab6679a0ed1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9521, "upload_time": "2016-07-31T18:42:43", "url": "https://files.pythonhosted.org/packages/83/2c/6e1812d09d07e0e0c757595c3c3070b5d1cb1c3128acb681c7a8414bb885/agile-analytics-0.4.3.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "409b28fd1dc98a86e74ba72f76e4ba00", "sha256": "8a81891d0b80b6b406c7a7f46b1b4bafecfe0304562206c56a79968a299eb617" }, "downloads": -1, "filename": "agile-analytics-0.5.tar.gz", "has_sig": false, "md5_digest": "409b28fd1dc98a86e74ba72f76e4ba00", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9752, "upload_time": "2016-08-02T17:15:12", "url": "https://files.pythonhosted.org/packages/02/41/0a0204689a8cbbb08635c9edddc007a4c55e0bef449e9df3570365b30a8c/agile-analytics-0.5.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "4567fe2e4a10dedc5cfbd16f620b88e0", "sha256": "cc97f9b3d5e04c46f00e30523af3f35f1c0a507085da40bedea7d7bdc8120398" }, "downloads": -1, "filename": "agile-analytics-0.5.1.tar.gz", "has_sig": false, "md5_digest": "4567fe2e4a10dedc5cfbd16f620b88e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9766, "upload_time": "2016-08-03T20:12:50", "url": "https://files.pythonhosted.org/packages/65/47/e4308a5db1a64dd91492cdf85ec83639070e0b43f5168cdb658b35bd3818/agile-analytics-0.5.1.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "b7930ef5c69b20aad339f3c4e97a1c0d", "sha256": "a420f2efb4c9da899addbfc99985f04d0f4e285893f9afc9a829f7ea510841e2" }, "downloads": -1, "filename": "agile-analytics-0.6.tar.gz", "has_sig": false, "md5_digest": "b7930ef5c69b20aad339f3c4e97a1c0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10369, "upload_time": "2016-08-06T14:02:34", "url": "https://files.pythonhosted.org/packages/e2/42/96418e1f457a831979f88086bfd5544e38f1f60760588d85f6ccd5858228/agile-analytics-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "ea53dd3e66049a4c4d3e2e730cf51455", "sha256": "a8b67b94ce8b2189d871fa27b6487088623853d2efb6bd07f190259984fdcfec" }, "downloads": -1, "filename": "agile-analytics-0.7.tar.gz", "has_sig": false, "md5_digest": "ea53dd3e66049a4c4d3e2e730cf51455", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10553, "upload_time": "2016-08-06T20:45:14", "url": "https://files.pythonhosted.org/packages/fa/a8/d0d762d363ae5d3503e31bb09a05b0bcec6629fc60e880ebdcc5adef7ae4/agile-analytics-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "ccb0042d8b181624ed45dd391ac52e9a", "sha256": "e607eef05561c26b4e76bcb576b582e94725f73a15b9efa053f28da00e8bef43" }, "downloads": -1, "filename": "agile-analytics-0.8.tar.gz", "has_sig": false, "md5_digest": "ccb0042d8b181624ed45dd391ac52e9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10889, "upload_time": "2016-08-07T01:36:46", "url": "https://files.pythonhosted.org/packages/0b/ef/2e8b445b866ec6f21110f3347b4ff7c182c33aee0946a70c42bd44864a08/agile-analytics-0.8.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "91c925fbd963f402c809d853d7c49c3a", "sha256": "cce93fff58a4ee7296e9eb4cc452ce3b54c282ce541b1fb89e3d6a8e7a4599f6" }, "downloads": -1, "filename": "agile-analytics-0.9.tar.gz", "has_sig": false, "md5_digest": "91c925fbd963f402c809d853d7c49c3a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11208, "upload_time": "2016-08-09T21:58:27", "url": "https://files.pythonhosted.org/packages/fc/8d/6bd9b32ed8f140abf57a389f02f3620d4859ec0ed9c7486707e9dec7d1f5/agile-analytics-0.9.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "69ca7bd4e8a0be301a0de5ef54f0bb06", "sha256": "7210d5e85793ae4b6b5573162866875c9c812b63540d2fd31f2715ab075eaf9e" }, "downloads": -1, "filename": "agile-analytics-0.9.1.tar.gz", "has_sig": false, "md5_digest": "69ca7bd4e8a0be301a0de5ef54f0bb06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11227, "upload_time": "2016-08-11T18:32:35", "url": "https://files.pythonhosted.org/packages/8f/60/d1036e3641e60041a7bea5b22ab260fc5f9d5444a581cb08f75c7ab84612/agile-analytics-0.9.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8be6479a6f16829030d79365face0ccb", "sha256": "cfd723fa74522fc4ccb75f96e5a9ebd6aef7e69317c36e4e44e9908ea9b68487" }, "downloads": -1, "filename": "agile-analytics-0.15.2.tar.gz", "has_sig": false, "md5_digest": "8be6479a6f16829030d79365face0ccb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12877, "upload_time": "2019-04-22T17:55:38", "url": "https://files.pythonhosted.org/packages/90/41/6e0bcd3bae9f0680bed97247754364ba23525d9165b41b288142deb7ff0a/agile-analytics-0.15.2.tar.gz" } ] }