{ "info": { "author": "A1Liu", "author_email": "albertymliu@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# GSheetz\nGSheetz is a small package that I made while trying to connect to the google sheets API. It was really annoying so I made a few classes and functions to make it easier.\n\nThe easiest way to use it is through the `get_view` function and the `SheetView` class. This package is really for personal use so I'm not going to spend much time on documentation for now, but if the project expands I'll maybe do stuff to make it legible and stuff like that.\n\nHere's some example usage:\n\n```python\nfrom gsheetz.views import SheetView\n\nTOKEN = 'token.json' # Path of token file\nSECRET = 'client_secret.json' # Path of client secret file\nSCOPES = 'https://www.googleapis.com/auth/spreadsheets' # Scopes variable as defined by API\nsheetID = '1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms' # Sheet ID\nsheetName = 'Class Data'\n\n# SheetView is the default so you don't technically need to import it\nview = SheetView.get_view(TOKEN,SECRET,SCOPES)\ndf = view.view_sheet(sheetID,sheetName)\n# View the sheet - This loads the sheet,\n# stores it in a pandas DataFrame at view.localdf,\n# formats it (if you override the format_sheet method),\n# sets view.current = sheetID and view.sheet = sheetName, and then returns the DataFrame\n```\n\nAs you can see, the point of this package is to take care of the boiler-plate for you. If you'd like to interact with the API yourself, simply call `get_view(TOKEN,SECRET,SCOPES).api` to get access to the API object (`service.spreadsheets()`).\n\n### Future Plans (in arbitrary order)\n* Dynamically update the `localdf` attribute of `SheetView` objects instead of just 'refreshing' it.\n* Add support for editing multiple ranges\n* Eventually change the architecture for the connection module to use something besides `oath2client` (it's been deprecated)\n* Add functionality to load a range instead of a whole sheet\n* Write documentation\n\n### Sources\n* [Google Sheets API][sheets-api-homepage] - The docs for the API\n* [Guide and Quickstart][API-quickstart] - I literally copy-pasted the python code from this and separated it into multiple functions. I tried figuring out how to use `google.auth` but figured it wasn't worth the extra time to parse through all the docs when the code is already written for me\n* [Google Sheets API for Python Developers][sheets-for-py] - the docs that explain how to use the python methods\n\n[shlex]: https://docs.python.org/3/library/shlex.html\n[sheets-api-homepage]: https://developers.google.com/sheets/api/\n[API-quickstart]: https://developers.google.com/sheets/api/guides/concepts\n[sheets-for-py]: https://developers.google.com/api-client-library/python/apis/sheets/v4\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/a1liu/gsheetz", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "gsheetz", "package_url": "https://pypi.org/project/gsheetz/", "platform": "", "project_url": "https://pypi.org/project/gsheetz/", "project_urls": { "Homepage": "https://github.com/a1liu/gsheetz" }, "release_url": "https://pypi.org/project/gsheetz/0.0.2/", "requires_dist": [ "pandas", "mr-clean", "google-api-python-client", "oauth2client" ], "requires_python": "", "summary": "A small package for accessing the google sheets API.", "version": "0.0.2" }, "last_serial": 4454863, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "308cc08b69eb6e9cf0ce3ae06dbc4880", "sha256": "64eece0bf8722ca7afd232cbc460fb3b2067cf93fd284e6cf0b1d079310593fb" }, "downloads": -1, "filename": "gsheetz-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "308cc08b69eb6e9cf0ce3ae06dbc4880", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17769, "upload_time": "2018-11-03T05:25:31", "url": "https://files.pythonhosted.org/packages/50/08/1dc8783cf589b066ca96e6c2abd8bfc650f3bde1fe262324ba239c049f41/gsheetz-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da8e64eb74c1713d58a982accb98ec12", "sha256": "0e02845074ab14463c937c9ac351d94effada43ec91fa3ee0673229a40cee19b" }, "downloads": -1, "filename": "gsheetz-0.0.1.tar.gz", "has_sig": false, "md5_digest": "da8e64eb74c1713d58a982accb98ec12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4235, "upload_time": "2018-11-03T05:25:33", "url": "https://files.pythonhosted.org/packages/e0/90/866b621c592029cd8185f9fd481c2aeadc50ed3357a578ad3d8a27417be2/gsheetz-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "69bae7bc2ff23415ea63bf6c75f721aa", "sha256": "58a4450cf878b6b7efabf2bff2ce6b203c69ee96e9b48fc3a754aff5b914bffd" }, "downloads": -1, "filename": "gsheetz-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "69bae7bc2ff23415ea63bf6c75f721aa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19189, "upload_time": "2018-11-05T21:44:37", "url": "https://files.pythonhosted.org/packages/10/51/9a108a5b0acc1bf291358b4d30c864f4c83bc521ca5a4ebaf524d117b711/gsheetz-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4acb5e0b6de566fa0dca476305a35986", "sha256": "06f5544167e949bf1600cfa648640872f36d031bd6c936f30641d7e04e013948" }, "downloads": -1, "filename": "gsheetz-0.0.2.tar.gz", "has_sig": false, "md5_digest": "4acb5e0b6de566fa0dca476305a35986", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5742, "upload_time": "2018-11-05T21:44:38", "url": "https://files.pythonhosted.org/packages/98/00/2a15e2c1f48cdcb8b517532586dd77c32e11d197b77bf57408863feee1df/gsheetz-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "69bae7bc2ff23415ea63bf6c75f721aa", "sha256": "58a4450cf878b6b7efabf2bff2ce6b203c69ee96e9b48fc3a754aff5b914bffd" }, "downloads": -1, "filename": "gsheetz-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "69bae7bc2ff23415ea63bf6c75f721aa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19189, "upload_time": "2018-11-05T21:44:37", "url": "https://files.pythonhosted.org/packages/10/51/9a108a5b0acc1bf291358b4d30c864f4c83bc521ca5a4ebaf524d117b711/gsheetz-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4acb5e0b6de566fa0dca476305a35986", "sha256": "06f5544167e949bf1600cfa648640872f36d031bd6c936f30641d7e04e013948" }, "downloads": -1, "filename": "gsheetz-0.0.2.tar.gz", "has_sig": false, "md5_digest": "4acb5e0b6de566fa0dca476305a35986", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5742, "upload_time": "2018-11-05T21:44:38", "url": "https://files.pythonhosted.org/packages/98/00/2a15e2c1f48cdcb8b517532586dd77c32e11d197b77bf57408863feee1df/gsheetz-0.0.2.tar.gz" } ] }