Skip to main content

Wrapper for Google's Python API.

Project description

googleapiutils2

Utilities for Google's v2 Python API. Currently supports sections of the following resources:

  • Drive: FilesResource, ...
  • Sheets: SpreadsheetsResource, ...
  • Geocoding

Quickstart

This project requires Python ^3.10 to run.

Several dependencies are needed, namely the aforesaid Google Python API, but also Google's oauth library, and requests. Pre-bundled for ease of use are the fairly monolithic google-api-stubs, which greatly improves the usage experience.

via poetry

Install poetry, then run

poetry install

And you're done.

Drive

...

Sheets

Simple example:

...
creds = get_oauth2_creds(client_config=config_path)
sheets = Sheets(creds=creds)

sheet_id = "id"
Sheet1 = SheetsValueRange(sheets, sheet_id, sheet_name="Sheet1")

rows = [
    {
        "Heyy": "99",
    }
]
Sheet1[2:3, ...].update(rows)

What the above does is: - Get the OAuth2 credentials from the client_config.json file - create a Sheets object thereupon. - Create a SheetsValueRange object, which is a wrapper around the spreadsheets.values API. - Update the range Sheet1!A2:B3 with the given rows.

Note the slicing syntax, which will feel quite familiar for any Python programmer.

SheetSlice

A SheetsValueRange object can be sliced in a similar manner to that of a Numpy array. The syntax is as follows:

slc = Sheet[rows, cols]

Wherein rows and cols are either integers, slices of integers (stride is not supported), strings (in A1 notation), or ellipses (...).

ix = SheetSlice["Sheet1", 1:3, 2:4] #  "Sheet1!B2:D4"
ix = SheetSlice["Sheet1", "A1:B2"]  #  "Sheet1!A1:B2"
ix = SheetSlice[1:3, 2:4]           #  "Sheet1!B2:D4"
ix = SheetSlice["A1:B2"]            #  "Sheet1!A1:B2"
ix = SheetSlice[..., 1:3]           #  "Sheet1!A1:Z3"

SheetSlice object can also be used as a key into a SheetsValueRange object, or a dictionary (to use in updating a sheet's range, for example). Further, a SheetsValueRange object can be sliced in a similar manner to that of a SheetSlice object, and also be used as a dictionary key.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

googleapiutils2-0.5.4.tar.gz (16.1 kB view details)

Uploaded Source

Built Distribution

googleapiutils2-0.5.4-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file googleapiutils2-0.5.4.tar.gz.

File metadata

  • Download URL: googleapiutils2-0.5.4.tar.gz
  • Upload date:
  • Size: 16.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.11.2 Darwin/22.4.0

File hashes

Hashes for googleapiutils2-0.5.4.tar.gz
Algorithm Hash digest
SHA256 31860c380c8b2aba50c5d91f31d1b7447419726125be28a5ab72ba8c5eee514f
MD5 81ca96f4a44837f89fe39d823f352400
BLAKE2b-256 75cab950abb9b9eeeeb9f301e028ac96399c09e661180155eda455f0b70d5ffb

See more details on using hashes here.

File details

Details for the file googleapiutils2-0.5.4-py3-none-any.whl.

File metadata

  • Download URL: googleapiutils2-0.5.4-py3-none-any.whl
  • Upload date:
  • Size: 18.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.11.2 Darwin/22.4.0

File hashes

Hashes for googleapiutils2-0.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 0f18a2ef98db4b5ed6d0fab2c15502d8da8c01baac027550b288e9e493e4a872
MD5 7eaaed3e8c964201a68cf7115ff21c53
BLAKE2b-256 93e2026460e8f8d7b9282afa9eb90a0d584c89fb6870392d7f07f524b6bf8216

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page