{ "info": { "author": "Adam Bard", "author_email": "adam@adambard.com", "bugtrack_url": null, "classifiers": [], "description": "==============================================\ngooglegantt - A Google Charts Gantt Chart API\n==============================================\n\nAuthor: Adam Bard, http://adambard.com/\n\nThis api is designed to allow you to easily and quickly create gantt\ncharts using the Google Charts API. You can save them as images or\njust produce a URL.\n\nIt works swell as long as you want things measured in days.\n\nThe method of producing such a chart is heavily influenced by this post_\nby Dave Goerlich. Thanks, Dave.\n\nQuick Start Example\n---------------------\n\n::\n\n from googlegantt import GanttChart, GanttCategory\n\n gc = GanttChart('Test Chart', width=650, height=200, progress=(2011, 02, 27))\n\n on_time = GanttCategory('On Time', '0c0')\n late = GanttCategory('Late', 'c00')\n upcoming = GanttCategory('Upcoming', '00c')\n\n t1 = gc.add_task('Late Task', (2011, 02, 20), (2011, 02, 25), category=late)\n t2 = gc.add_task('On Time Task', depends_on=t1, duration=3, category=on_time)\n t3 = gc.add_task('Future Task', depends_on=t2, duration=7, category=upcoming)\n\n url = gc.get_url()\n image = gc.get_image()\n\nProduces:\n\n.. image:: https://chart.googleapis.com/chart?chxt=x,y&chds=0,15&chco=FFFFFF00,CC0000FF,00CC00FF,0000CCFF&chbh=46,4,0&chtt=Test%20Chart&chxl=0:|20/02|21/02|22/02|23/02|24/02|25/02|26/02|27/02|28/02|01/03|02/03|03/03|04/03|05/03|06/03|07/03|1:|Future%20Task|On%20Time%20Task|Late%20Task&chdl=|Late|On%20Time|Upcoming&chd=t:0,5,8|5,0,0|0,3,0|0,0,7&chg=6.66666666667,0&chm=r,4D89F933,0,0,0.466666666667&chs=650x200&cht=bhs\n\nFeatures\n--------------------\n\n* Optional Progress indicator shades the elapsed area of the chart.\n* Flexible chart width and height.\n* Specify task colors using css rules.\n* Flexibly specify dates using datetime.date objects, or tuples.\n* Produce a Google Chart url, or a png image (requires PIL_).\n* Date span is automatically computed from tasks.\n\n\nClasses\n----------------\n\nThere are 3 primary classes involved in the creation of a chart.\n\nGanttChart\n~~~~~~~~~~~\n\n**GanttChart(title,[ **kwargs])**\n\n Produce a Gantt Chart.\n\n Keyword Arguments:\n\n * **width** The width of the chart.\n * **height** The height of the chart.\n * **progress** A date representing the current time, to produce a shaded 'elapsed' region.\n\n Example initialization::\n\n gc = GanttChart('Test Chart', width=600, height=200, progress=(2011, 02, 27))\n\nMethods:\n\n* **GanttChart.get_url()** Get a Google Charts URL of the chart, for direct access\n* **GanttChart.get_image()** Get a PIL_ Image object, to be manipulated\n* **GanttChart.get_image(save_path)** Save a .png image to *save_path*\n\nGanttCategory\n~~~~~~~~~~~~~~\n\nOptional in common usage. Represents a class of Tasks with a color and a title.\n\n**GanttCategory(title[, color])**\n\n Produce a category object with a given *color*. Color is specified using a hex string,\n and will be converted to an 8-byte rgba hex color string expected by Google Charts from any\n of the following formats:\n\n * 3-byte, e.g. 'f00' => 'FF0000FF'\n * 4-byte, e.g. 'f00c' => 'FF0000CC'\n * 6-byte, e.g. 'ff0000' => 'FF0000FF'\n * 8-byte\n\nGanttTask\n~~~~~~~~~~\n\nRepresents a single bar in the chart. Must have a specified start and end date, although\nthese can be computed in different ways.\n\n**GanttTask(title[, start_date=None, end_date=None[, **kwargs]])**\n\n Keyword Arguments:\n\n * **start_date** The start date of the task\n * **end_date** The end date of the task\n * **duration** The duration, in days, of the task. May be used instead of *end_date*\n * **depends_on** A GanttTask that must be completed before this one can begin. May be used instead of *start_date*\n * **category** A GanttCategory to apply to this task.\n * **color** A quick way to specify color. Don't use this when you have categories declared, you will get blank legend entries.\n\n Either *start_date* or *depends_on* **must** be specified. Same with *end_date* and *duration*.\n\n If both *start_date* and *depends_on* are specified, *depends_on* is used.\n\n If both *end_date* and *duration* are specified, *duration* is used.\n\nMore Information\n-------------------\n\nCheck out the doctests in the gantt.py file for more information.\n\nLicense\n------------\n\nCopyright (c) 2011 Adam Bard (adambard.com)\n\nLicensed under the MIT License: http://www.opensource.org/licenses/mit-license\n\n.. _post: http://www.designinginteractive.com/code/how-to-build-a-gantt-chart-with-the-google-charts-api/\n.. _PIL: http://www.pythonware.com/products/pil/", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "UNKNOWN", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "googlegantt", "package_url": "https://pypi.org/project/googlegantt/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/googlegantt/", "project_urls": { "Download": "UNKNOWN", "Homepage": "UNKNOWN" }, "release_url": "https://pypi.org/project/googlegantt/0.6.1/", "requires_dist": null, "requires_python": null, "summary": "Produce Gantt charts using the Google Charts API", "version": "0.6.1" }, "last_serial": 792621, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "290b6ad31d3312507e7bdfc63dd74121", "sha256": "086498b7b73c29665076e1e8f81cae806c4f9c9ab2e52cb2775607a5b38d276d" }, "downloads": -1, "filename": "googlegantt-0.1.zip", "has_sig": false, "md5_digest": "290b6ad31d3312507e7bdfc63dd74121", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12016, "upload_time": "2011-03-01T23:02:14", "url": "https://files.pythonhosted.org/packages/70/b1/419ba46f32e734bb48264ab034537cb3a7243a0e75dd7170f5b52d75bf11/googlegantt-0.1.zip" } ], "0.2": [], "0.3": [ { "comment_text": "", "digests": { "md5": "25c7777728a5857e0d33080ae128cb65", "sha256": "1f7a50e90513c579ca48dc4e15a743809a915d487e6cd6618645879e9181d630" }, "downloads": -1, "filename": "googlegantt-0.3.zip", "has_sig": false, "md5_digest": "25c7777728a5857e0d33080ae128cb65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12137, "upload_time": "2011-09-29T21:28:34", "url": "https://files.pythonhosted.org/packages/56/b0/3992904dcb833e5dcc0ab6a1801bc1053c5d95ef08ec06497d1fe82cc8fc/googlegantt-0.3.zip" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "4d3d3fd884b6d357c3dae6c771773e38", "sha256": "8ba17f381fae2edde0fb49b65704dad38ba8805486c3a15fd3209bd7023db083" }, "downloads": -1, "filename": "googlegantt-0.4.zip", "has_sig": false, "md5_digest": "4d3d3fd884b6d357c3dae6c771773e38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12228, "upload_time": "2012-03-05T20:47:43", "url": "https://files.pythonhosted.org/packages/45/70/274d857eb668f85c47087e23e520cbdf075643b2e7a9c0f86f3be523007a/googlegantt-0.4.zip" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "c07d750f4532787b0600d35978b4941f", "sha256": "aca6554fa03ea4c0515d8edb0efb32f32c9c01f77264b5aa3f40b3d4c95ad321" }, "downloads": -1, "filename": "googlegantt-0.5.zip", "has_sig": false, "md5_digest": "c07d750f4532787b0600d35978b4941f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12229, "upload_time": "2012-03-05T20:49:04", "url": "https://files.pythonhosted.org/packages/64/09/27206f5a9bd80d401584682681696d9191d979d68a612589a7d9f0fedcc9/googlegantt-0.5.zip" } ], "0.6": [], "0.6.1": [ { "comment_text": "", "digests": { "md5": "8927875952d6fd51b7e6621b103bc852", "sha256": "4a2ef9484f339edcee192077b6b20ab064b0c0ab84a8bb77811302a3a7125763" }, "downloads": -1, "filename": "googlegantt-0.6.1.tar.gz", "has_sig": false, "md5_digest": "8927875952d6fd51b7e6621b103bc852", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6866, "upload_time": "2013-02-22T21:36:17", "url": "https://files.pythonhosted.org/packages/0f/bc/a0587ebee6cc3f5b2dbc383bd860824784f049c8da6e27ec3b8e6234cfcb/googlegantt-0.6.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8927875952d6fd51b7e6621b103bc852", "sha256": "4a2ef9484f339edcee192077b6b20ab064b0c0ab84a8bb77811302a3a7125763" }, "downloads": -1, "filename": "googlegantt-0.6.1.tar.gz", "has_sig": false, "md5_digest": "8927875952d6fd51b7e6621b103bc852", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6866, "upload_time": "2013-02-22T21:36:17", "url": "https://files.pythonhosted.org/packages/0f/bc/a0587ebee6cc3f5b2dbc383bd860824784f049c8da6e27ec3b8e6234cfcb/googlegantt-0.6.1.tar.gz" } ] }