{ "info": { "author": "Ryan Morehart", "author_email": "ryan@moreharts.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "Simple Scheduler\n================\nI occasionally do freelancing work and needed a simple way to build\nout a notional schedule based on estimated task length. There are many\nGantt chart builders out there, but they typically require choosing\nstart dates for each individual task. In addition, all the online builders\nmake you enter the tasks in their own interface (clunky), cost money after\nsome short trial (too much overhead), or don't offer an easy way to share\nthe schedule with someone else.\n\nSimple Scheduler asks for just a CSV of tasks, how long they'll take,\nwho is going to work on each task, and any dependencies of each task.\nFrom there it spits out an SVG with each task scheduled based on the rules:\n\n- Tasks are scheduled in the order they are in the CSV.\n- A resource (person) can only perform one task at a time.\n- A task's dependencies must be complete before it can begin.\n- (by default) No work is done on weekends.\n\nInstallation\n============\n\n.. code:: shell\n\n pip install projectscheduler\n\nUsage\n=====\n\nCreate a CSV with your tasks in the format:\n\n=================== ======== ========== =========================\nTask Duration Resources Dependency\n=================== ======== ========== =========================\nName of task 1 6 Person 1\nSome other task 3 Person 1\nSome other task 3 12 Person 2 Name of task 1\n=================== ======== ========== =========================\n\nWhere duration is given in days. Multiple resources can be separated by a \"/\". (I.E, \"Person1/Person2\").\n\nAn `example csv`_ can found found in the repository. It builds into:\n\n.. image:: https://raw.githubusercontent.com/traherom/simple-scheduler/master/example/example.png\n :alt: Example output\n :width: 100%\n :align: center\n\n(We are displaying the PNG here so that GitHub displays it. The SVG_ is what was actually produced.)\n\n.. _SVG: https://raw.githubusercontent.com/traherom/simple-scheduler/master/example/example.svg\n.. _example csv: https://raw.githubusercontent.com/traherom/simple-scheduler/master/example/example.csv\n\n.. code:: shell\n\n schedule input.csv output.svg\n\nTODO\n====\n1. Multiple dependencies for a task?\n\nCredits\n=======\nPython-gantt_ was the original inspiration for this project. I originally built the scheduler around it,\nbut didn't like certain aspects of the API. This tool uses the rendering\ncode from that project.\n\n.. _Python-gantt: http://xael.org/pages/python-gantt-en.html\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/traherom/simple-scheduler", "keywords": "packaging,poetry", "license": "MIT", "maintainer": "Ryan Morehart", "maintainer_email": "ryan@moreharts.com", "name": "projectscheduler", "package_url": "https://pypi.org/project/projectscheduler/", "platform": "", "project_url": "https://pypi.org/project/projectscheduler/", "project_urls": { "Homepage": "https://github.com/traherom/simple-scheduler", "Repository": "https://github.com/traherom/simple-scheduler" }, "release_url": "https://pypi.org/project/projectscheduler/0.6.0/", "requires_dist": [ "svgwrite (>=1.2,<2.0)" ], "requires_python": ">=3.6,<4.0", "summary": "Simple project scheduling tool", "version": "0.6.0" }, "last_serial": 4792415, "releases": { "0.5": [ { "comment_text": "", "digests": { "md5": "fc1b505a118059b24858787634a960ca", "sha256": "4a035193efa85af77c32bbcc305e53cb16afa71a95798d08c48196d13faa7b0c" }, "downloads": -1, "filename": "projectscheduler-0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "fc1b505a118059b24858787634a960ca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 31656, "upload_time": "2017-01-02T16:56:35", "url": "https://files.pythonhosted.org/packages/ba/01/b16d25c953c503a6e1a356f9c5832ce740567727cf2f7043c6b07f592ebf/projectscheduler-0.5-py3-none-any.whl" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "8a8db291a042f5d2bc71bf4ba0a15fd4", "sha256": "dbd0ccbcf9537fb824678f9768744c00599ea7afe8665c86e36bf7af819bd74b" }, "downloads": -1, "filename": "projectscheduler-0.5.1-py3-none-any.whl", "has_sig": false, "md5_digest": "8a8db291a042f5d2bc71bf4ba0a15fd4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 31678, "upload_time": "2017-01-02T17:19:41", "url": "https://files.pythonhosted.org/packages/60/bb/cd9bdc0ece853ee8817ff0ff2330d965a84b1e2af4f5cb66557e9174d259/projectscheduler-0.5.1-py3-none-any.whl" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "1ee642c61eb9cf6f8fbc8af3b1a33509", "sha256": "b1a21b57f1c61a7f90a6a69d2523dabdcbd46d7320a59180cffa1730686df620" }, "downloads": -1, "filename": "projectscheduler-0.5.2-py3-none-any.whl", "has_sig": false, "md5_digest": "1ee642c61eb9cf6f8fbc8af3b1a33509", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 31679, "upload_time": "2017-01-02T17:20:58", "url": "https://files.pythonhosted.org/packages/d5/c4/11dc8f4e4ff9de8bb4bf8448e911792529a32f6bdec06411dd8aff3e775b/projectscheduler-0.5.2-py3-none-any.whl" } ], "0.5.5": [ { "comment_text": "", "digests": { "md5": "c761e524b0395457ddece2b5a1889250", "sha256": "3e9d2ad88398ba911bad8113c12f223fd4d0315c00b6350cdcc3f1e2eabc2080" }, "downloads": -1, "filename": "projectscheduler-0.5.5-py3-none-any.whl", "has_sig": false, "md5_digest": "c761e524b0395457ddece2b5a1889250", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 31683, "upload_time": "2017-01-02T17:28:14", "url": "https://files.pythonhosted.org/packages/1a/68/db1203a81d069aa888fad2a343e7718e3799371150ed1214ec44f0ff5a53/projectscheduler-0.5.5-py3-none-any.whl" } ], "0.5.6": [ { "comment_text": "", "digests": { "md5": "f78618aca3587affa0ca078f70e93d3a", "sha256": "1727493e70bde725131281af22810eb7fc5bd4aac9e07494ff9094e3d90af38f" }, "downloads": -1, "filename": "projectscheduler-0.5.6-py3-none-any.whl", "has_sig": false, "md5_digest": "f78618aca3587affa0ca078f70e93d3a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 32067, "upload_time": "2017-01-02T18:58:51", "url": "https://files.pythonhosted.org/packages/e6/2f/f3fcccf865d95e55ee206f317391604d2e532070abc82b2826f430d0e064/projectscheduler-0.5.6-py3-none-any.whl" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "2666d57a355334e6a40b615abf7388b2", "sha256": "0b5845db83c661f64131917110592a284724c71b1b053265393325eb79beb476" }, "downloads": -1, "filename": "projectscheduler-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2666d57a355334e6a40b615abf7388b2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 33460, "upload_time": "2019-02-07T18:31:16", "url": "https://files.pythonhosted.org/packages/27/a9/ddd35a33c2dbd8e33e5364e358f1e25ab4b775fd61c190ef60192623059f/projectscheduler-0.6.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ab0dcbd0231ad69e7636ea661cb50d76", "sha256": "f23e59626b5a63368f25da92fc2fdc3c3e66e8eaf01b134ad766beabdcba8262" }, "downloads": -1, "filename": "projectscheduler-0.6.0.tar.gz", "has_sig": false, "md5_digest": "ab0dcbd0231ad69e7636ea661cb50d76", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 10696, "upload_time": "2019-02-07T18:31:17", "url": "https://files.pythonhosted.org/packages/a8/ed/e15eed8188bc8ee6b17588a418486e439d20985ecadf0068b4b378f25ad2/projectscheduler-0.6.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2666d57a355334e6a40b615abf7388b2", "sha256": "0b5845db83c661f64131917110592a284724c71b1b053265393325eb79beb476" }, "downloads": -1, "filename": "projectscheduler-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2666d57a355334e6a40b615abf7388b2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 33460, "upload_time": "2019-02-07T18:31:16", "url": "https://files.pythonhosted.org/packages/27/a9/ddd35a33c2dbd8e33e5364e358f1e25ab4b775fd61c190ef60192623059f/projectscheduler-0.6.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ab0dcbd0231ad69e7636ea661cb50d76", "sha256": "f23e59626b5a63368f25da92fc2fdc3c3e66e8eaf01b134ad766beabdcba8262" }, "downloads": -1, "filename": "projectscheduler-0.6.0.tar.gz", "has_sig": false, "md5_digest": "ab0dcbd0231ad69e7636ea661cb50d76", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 10696, "upload_time": "2019-02-07T18:31:17", "url": "https://files.pythonhosted.org/packages/a8/ed/e15eed8188bc8ee6b17588a418486e439d20985ecadf0068b4b378f25ad2/projectscheduler-0.6.0.tar.gz" } ] }