{ "info": { "author": "Connor Sullivan", "author_email": "sully4792@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# Google Objects\nThin, pythonic OO wrapper around Google's \"google-api-python-client\" library.\nCurrently supports Python 3+\n\n## Installation\n```bash\n$ pip install google-objects\n```\n\n## Usage\nRequires a valid Google API Credentials object from Google's excellent oauth2lib library. For more information, visit [here](https://developers.google.com/identity/protocols/OAuth2).\n \n### Google Drive v3\n\n- Retrieve drive 'About' information:\n\n```python\nfrom google_objects import DriveClient\n\ngdrive = DriveClient(OAUTH2LIB_CREDS)\nabout = gdrive.get_about()\n\nprint(about.email)\nprint(about.name)\n\n# prints link to profile photo\nprint(about.photo)\n\n# ...\n```\n\n- List files in drive by type:\n\n```python\nfiles_by_type = {\n 'slides': gdrive.list_files('presentation'),\n 'folders': gdrive.list_files('folder'),\n 'spreadsheets': gdrive.list_files('spreadsheets'),\n}\n\nfor file in files_by_type['folders']:\n print(file.id)\n print(file.name)\n\nfor file in files_by_type['spreadsheets']:\n # prints list of parent folder IDs\n print(file.parents)\n\n# ...\n```\n\n- Copy and share file:\n\n```python\nfile = gdrive.get_file('FILE_ID')\nnew_file = file.copy('NEW_FILE_NAME', ['PARENT_FOLDER_1', 'PARENT_FOLDER_2'])\n\n# allow myfriend@hotmail.com to view\npermission = new_file.add_permission('myfriend@hotmail.com')\n\n# print newly created permission information\nprint(permission.role, permission.type, permission.email)\n```\n\n### Google Slides v1\n\n- Retrieve presentation and loop through elements:\n\n```python\nfrom google_objects import SlidesClient\n\ngslides = SlidesClient(OAUTHLIB_CREDS)\npresentation = gslides.get_presentation('PRESENTATION_ID')\n\n# print slides attributes\nfor slide in presentation:\n print(slide.id)\n\n for element in slide: # equivalent to 'for element in presentation.elements()' \n print(element.type) \n # Shape, Table, etc\n```\n\n- Check text in shape:\n\n```python\nshape = presentation.get_element_by_id('SHAPE_ID')\nfor segment in shape.text:\n print(segment.text)\n```\n\n- Batch update every cell in table:\n\n```python\n# use with to perform batch updates in block\nwith presentation as pres:\n table = pres.get_element_by_id('TABLE_ID')\n for cell in table:\n print(cell.location) # tuple containing cell location\n for segment in cell.text:\n # update cell\n segment.text = 'UPDATED_VALUE'\n```\n\n### Google Sheets v4\n\n- Retrieve spreadsheet and loop through sheets:\n\n```python\nfrom google_objects import SheetsClient\n\ngsheets = SheetsClient(OAUTHLIB_CREDS)\nspreadsheet = gsheets.get_spreadsheet('SPREADSHEET_ID')\n\nfor sheet in spreadsheet:\n print(sheet.id, sheet.title)\n```\n\n- Get sheet by name and return its full block of values:\n\n```python\nsheet = spreadsheet['Sheet 1']\nvalues = sheet.values() \n```\n\n- Get named range value block:\n\n```python\nnamed_ranges = spreadsheet.named_ranges('SHEET_NAME!A:C')\nfor rng in named_range:\n values = named_range.get_block()\n```\n\n- Update values block:\n\n```python\nvalues = spreadsheet.get_range('SHEET_NAME!A:C')\n# loop through rows\nfor i, row in enumerate(values):\n values[i] = [1, 2, 3]\n print(row)\nvalues.update()\n\n# you can also use the slice syntax for updating..\nvalues[2:5] = [[1,2,4], [4, 5, 6], [6, 7, 8]]\nvalues.update()\n```\n\n- Append to values block:\n\n```python\nto_append = [[1, 2, 3], [4, 5, 6]]\nvalues.append(to_append) \n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/condad/google-objects/tarball/0.0.7", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/condad/google-objects", "keywords": "google api,google sheets,google drive,google slides", "license": "", "maintainer": "", "maintainer_email": "", "name": "google_objects", "package_url": "https://pypi.org/project/google_objects/", "platform": "", "project_url": "https://pypi.org/project/google_objects/", "project_urls": { "Download": "https://github.com/condad/google-objects/tarball/0.0.7", "Homepage": "https://github.com/condad/google-objects" }, "release_url": "https://pypi.org/project/google_objects/0.0.7/", "requires_dist": null, "requires_python": "", "summary": "A simple OO wrapper around Google's python API client", "version": "0.0.7" }, "last_serial": 3848381, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "84579ee5983e09b6f6ebf8a1a270aac3", "sha256": "33b3b864d73f89555c4993b44dc5cd4b81d4f24b71f6d468537dfe1878b6e861" }, "downloads": -1, "filename": "google_objects-0.0.1.tar.gz", "has_sig": false, "md5_digest": "84579ee5983e09b6f6ebf8a1a270aac3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10121, "upload_time": "2017-01-03T03:02:23", "url": "https://files.pythonhosted.org/packages/77/bb/aed44bee35cb07932971bda2bd12123dc90c324e17478ef13a4e3d1954c1/google_objects-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "1ebf15d1393be81723639006503ed2c2", "sha256": "c94e6bf4165d28b7db8c717ee99f8953f95db327128743f16262c35a82ab3bbe" }, "downloads": -1, "filename": "google_objects-0.0.2.tar.gz", "has_sig": false, "md5_digest": "1ebf15d1393be81723639006503ed2c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10456, "upload_time": "2017-01-27T00:47:12", "url": "https://files.pythonhosted.org/packages/53/1c/fc039f12c0e1a29aea1371bc3d65780705009b747724b4636f2c4662fb05/google_objects-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "a8b7765f2d2069936b3b98d268cc4e10", "sha256": "478f7885c53d460793e8d9acc2fd82208c044935deae90ffc49099a1f8fcacb9" }, "downloads": -1, "filename": "google_objects-0.0.3.tar.gz", "has_sig": false, "md5_digest": "a8b7765f2d2069936b3b98d268cc4e10", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10488, "upload_time": "2017-02-13T03:09:12", "url": "https://files.pythonhosted.org/packages/f9/78/412d3e69999b328f7fbf28b9f3d86dc3e74aaf223e61df5fe9e0875ed752/google_objects-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "12e256ae98554d69ec871951cc951fab", "sha256": "0dcc398bedb18f42998152ffd564c70877c5078ecb097c790e6267a22c12ddb8" }, "downloads": -1, "filename": "google_objects-0.0.4.tar.gz", "has_sig": false, "md5_digest": "12e256ae98554d69ec871951cc951fab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15851, "upload_time": "2018-03-22T21:37:41", "url": "https://files.pythonhosted.org/packages/78/1c/ac1cc2ce8e5ba3c16e90d6bd85ae703f5389b61160120f590220e3b14f16/google_objects-0.0.4.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "de4e6fe1dc156ce7e69fbc4dbf962f11", "sha256": "8a29e786b5776e7d99e8367ae89d73bca74fb62a32fa4d9de4f2337f5d0d0b81" }, "downloads": -1, "filename": "google_objects-0.0.6.tar.gz", "has_sig": false, "md5_digest": "de4e6fe1dc156ce7e69fbc4dbf962f11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16170, "upload_time": "2018-05-09T18:50:29", "url": "https://files.pythonhosted.org/packages/0f/9c/654f19f46b3c447922ae3be86100454e2e823c97430539d85ef5d0e3d8f9/google_objects-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "e1ebd47f3ffcf47e0f3a53135934ccc4", "sha256": "ce4ffb640d732843c010539ba255ba7eb48c6526abaea022620c06252ea64cfe" }, "downloads": -1, "filename": "google_objects-0.0.7.tar.gz", "has_sig": false, "md5_digest": "e1ebd47f3ffcf47e0f3a53135934ccc4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16141, "upload_time": "2018-05-09T18:54:26", "url": "https://files.pythonhosted.org/packages/00/fc/bad6a2172d81d81bd95d92e418ad6e79941425cd32c9cdb67a823a6bb1d1/google_objects-0.0.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e1ebd47f3ffcf47e0f3a53135934ccc4", "sha256": "ce4ffb640d732843c010539ba255ba7eb48c6526abaea022620c06252ea64cfe" }, "downloads": -1, "filename": "google_objects-0.0.7.tar.gz", "has_sig": false, "md5_digest": "e1ebd47f3ffcf47e0f3a53135934ccc4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16141, "upload_time": "2018-05-09T18:54:26", "url": "https://files.pythonhosted.org/packages/00/fc/bad6a2172d81d81bd95d92e418ad6e79941425cd32c9cdb67a823a6bb1d1/google_objects-0.0.7.tar.gz" } ] }