{ "info": { "author": "Pavel Pribyl", "author_email": "pribyl.pavel@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "==========\nPyForecast\n==========\n\n\n.. image:: https://img.shields.io/pypi/v/pyforecast.svg\n :target: https://pypi.python.org/pypi/pyforecast\n\n.. image:: https://img.shields.io/travis/vafliik/pyforecast.svg\n :target: https://travis-ci.org/vafliik/pyforecast\n\n.. image:: https://readthedocs.org/projects/pyforecast/badge/?version=latest\n :target: https://pyforecast.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\nWork In Progress\n----------------\nThis project is currently under development. During sleepless nights, with two screaming kids :)\n\nPlease be patient. I would be grateful for any feedback & suggestions.\n\n\nIntroduction\n------------\n\nPython binding for `Forecast App `_ (Harvest) API\n\nForecast is the fast and simple way to schedule your team across projects.\n\nAs per `Forecast FAQ `_ there is not a *public API* for the app. This project uses the exposed backend API (looks like Forecast guys are OK with that)\n\n\n* Free software: Apache Software License 2.0\n* Documentation: https://pyforecast.readthedocs.io. (do not go there yet, it is also WIP. Basic usage is described in this README)\n\n\nFeatures\n--------\n\nImplemented\n^^^^^^^^^^^\n- Client\n- Project\n- Person\n- Assignments\n- Milestones\n- Roles\n- User Connections\n- Placeholders\n- Who am I\n\nTO DO\n^^^^^^^^^^^\n- All PUT/POST requests (inserting/modifying data)\n- **Documentation**\n\n\n=====\nUsage\n=====\n\nCreate an Authorization token in Forecast App: https://id.getharvest.com/developers\n\nCreate an instance of the ``forecast.Api`` using the Account ID and Authorization token::\n\n >>> import forecast\n >>> api = forecast.Api(account_id='account_id', authorization_token='authorization_token')\n\n\nExample usage::\n\n >>> for project in api.get_projects():\n >>> print(project.name, project.id)\n Demo Project 101234\n Killer App 106555\n\n >>> person = api.get_person(42)\n >>> print(person.first_name, person.last_name, person.email)\n Pavel Pribyl pribyl.pavel@gmail.com\n\nCredits\n-------\n\nThis package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n\n\n=======\nHistory\n=======\n\n0.1.4 (2018-05-31)\n------------------\n\n* Add caching for the remote API requests\n\n0.1.3 (2018-05-30)\n------------------\n\n* Support for exporting model data to JSON\n\n0.1.2 (2018-05-30)\n------------------\n\n* Stabilize the release numbering\n* Minor bugfixes, typos\n\n0.1.1 (2018-05-29)\n------------------\n\n* Complete the API wrappers\n* Give up on Python 2 support ... for now?\n\n0.1.0 (2018-05-26)\n------------------\n\n* First release on PyPI.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/vafliik/pyforecast", "keywords": "pyforecast", "license": "Apache Software License 2.0", "maintainer": "", "maintainer_email": "", "name": "pyforecast", "package_url": "https://pypi.org/project/pyforecast/", "platform": "", "project_url": "https://pypi.org/project/pyforecast/", "project_urls": { "Homepage": "https://github.com/vafliik/pyforecast" }, "release_url": "https://pypi.org/project/pyforecast/0.1.4/", "requires_dist": [ "Click (>=6.0)", "requests (>=2.18.0)", "requests-cache (>=0.4.13)" ], "requires_python": "", "summary": "Python binding for Forecast Harverst API", "version": "0.1.4" }, "last_serial": 3916539, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "41d51572525963bf18fc0cf10667a3ad", "sha256": "ad5362f30902470f7e08343e2c1fd8b522d1214a7f66531a60e4d562b960c3c7" }, "downloads": -1, "filename": "pyforecast-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "41d51572525963bf18fc0cf10667a3ad", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4466, "upload_time": "2018-05-28T23:11:09", "url": "https://files.pythonhosted.org/packages/cf/f8/f8b81f666991dec949d0aa6fd8bc748dca80c86e5f466963f1907716edfc/pyforecast-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df551b62d1e5bd11dafb80eee9f3ce10", "sha256": "44db870d8bad4b3dce10eadcad46a4495d950eb58469860f96ed5c312ccbc516" }, "downloads": -1, "filename": "pyforecast-0.1.0.tar.gz", "has_sig": false, "md5_digest": "df551b62d1e5bd11dafb80eee9f3ce10", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9892, "upload_time": "2018-05-28T23:11:10", "url": "https://files.pythonhosted.org/packages/ee/96/76717d13db5a6bd23cf75d7990b13ac1cfe4a1405cf8b297b63922199da2/pyforecast-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "b836f17f24ed8af7109c1ac1c520d2c8", "sha256": "d1ac82b6af2c8eb07f87e2dcd1e1fd1331507d044edc1e8adbfdfdd3d79203c6" }, "downloads": -1, "filename": "pyforecast-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b836f17f24ed8af7109c1ac1c520d2c8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5745, "upload_time": "2018-05-29T11:55:33", "url": "https://files.pythonhosted.org/packages/15/dc/f83584391ebe74ea718f71881ac4c7da15d7378f62f5b61b20fe2252a4b6/pyforecast-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6a2bb5aa5b8682e1c2761bb59247998d", "sha256": "184255168eff7132e248f775cce402a54c4cc986ee7bf281fe8fdf688a7b94f8" }, "downloads": -1, "filename": "pyforecast-0.1.1.tar.gz", "has_sig": false, "md5_digest": "6a2bb5aa5b8682e1c2761bb59247998d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11871, "upload_time": "2018-05-29T11:55:33", "url": "https://files.pythonhosted.org/packages/da/e8/4eea59f8ebe52756813ae13cedb9081215e63693a2c068f4efa10f241d2b/pyforecast-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "7f54d4a4c3e869df81f2ecabbf9284ac", "sha256": "fcd9d65358e9e39be63c2138fd1663a808384a50e492a4b5a9a7df8846016d82" }, "downloads": -1, "filename": "pyforecast-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7f54d4a4c3e869df81f2ecabbf9284ac", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5791, "upload_time": "2018-05-29T14:26:48", "url": "https://files.pythonhosted.org/packages/99/bc/58f3c65a15265c21e87e03393acc0af5fa09c4b17bfb99b9fdebce047fd7/pyforecast-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4618bffc5f66aeef1ac47c44a8b6e1ac", "sha256": "113859328f4cd3b19331c2f99e705003c237038a0548fce43a54d09f5083eafe" }, "downloads": -1, "filename": "pyforecast-0.1.2.tar.gz", "has_sig": false, "md5_digest": "4618bffc5f66aeef1ac47c44a8b6e1ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12385, "upload_time": "2018-05-29T14:26:49", "url": "https://files.pythonhosted.org/packages/bc/a8/7bad32a02921905c3b286768483442bc253bb0aada6ff946ace63067e81d/pyforecast-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "b06fad802a2fde20607e011de9cf5aef", "sha256": "a30fe87ff4c9e1c4b72949d2386b5cfc0508fd2b517603596ad862d7b6a09af6" }, "downloads": -1, "filename": "pyforecast-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b06fad802a2fde20607e011de9cf5aef", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5708, "upload_time": "2018-05-30T08:41:24", "url": "https://files.pythonhosted.org/packages/0c/ce/bd02316005ef5000bfaded62203a60e1300271cc5e843592bf90485f8b3d/pyforecast-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7128a49f0daea2aebc9121458902a2f8", "sha256": "d55f76fbc3f3a80ecfa2e78a37bcb0cd4afad9976dbe4db032b2639421a5a9d4" }, "downloads": -1, "filename": "pyforecast-0.1.3.tar.gz", "has_sig": false, "md5_digest": "7128a49f0daea2aebc9121458902a2f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11856, "upload_time": "2018-05-30T08:41:25", "url": "https://files.pythonhosted.org/packages/0b/b9/466a75ba11631f5a176298b25d9191a9c59f6f6ed260cb76d90824017e95/pyforecast-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "c49e3ee4f2212b0a141d7449d0a367a2", "sha256": "4e6f33826add810332e4b7f92c0136c9d1de795145155e1115ba0720076455b6" }, "downloads": -1, "filename": "pyforecast-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c49e3ee4f2212b0a141d7449d0a367a2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6350, "upload_time": "2018-05-31T10:48:14", "url": "https://files.pythonhosted.org/packages/9c/e3/12d22b2ae8059c04f336950cd052d45740eb6fee044f6596ebe77e2a66e5/pyforecast-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "99e4d0047324acffadb3a621ad3b841b", "sha256": "7dfbf367c24e805142f768533755fb17d7e89eb07fdec0632f52e8edcc8cd205" }, "downloads": -1, "filename": "pyforecast-0.1.4.tar.gz", "has_sig": false, "md5_digest": "99e4d0047324acffadb3a621ad3b841b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12756, "upload_time": "2018-05-31T10:48:15", "url": "https://files.pythonhosted.org/packages/d4/cc/2e078d300d7de4acb6529899231eed2555335e071eaeadc697174820123a/pyforecast-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c49e3ee4f2212b0a141d7449d0a367a2", "sha256": "4e6f33826add810332e4b7f92c0136c9d1de795145155e1115ba0720076455b6" }, "downloads": -1, "filename": "pyforecast-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c49e3ee4f2212b0a141d7449d0a367a2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6350, "upload_time": "2018-05-31T10:48:14", "url": "https://files.pythonhosted.org/packages/9c/e3/12d22b2ae8059c04f336950cd052d45740eb6fee044f6596ebe77e2a66e5/pyforecast-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "99e4d0047324acffadb3a621ad3b841b", "sha256": "7dfbf367c24e805142f768533755fb17d7e89eb07fdec0632f52e8edcc8cd205" }, "downloads": -1, "filename": "pyforecast-0.1.4.tar.gz", "has_sig": false, "md5_digest": "99e4d0047324acffadb3a621ad3b841b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12756, "upload_time": "2018-05-31T10:48:15", "url": "https://files.pythonhosted.org/packages/d4/cc/2e078d300d7de4acb6529899231eed2555335e071eaeadc697174820123a/pyforecast-0.1.4.tar.gz" } ] }