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.3.tar.gz (16.1 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: googleapiutils2-0.5.3.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.3.tar.gz
Algorithm Hash digest
SHA256 3ed942e400358a85f07bd3a92609e828e8ceafd7fb62dd332f01359b87034e00
MD5 d631870e12d8646888de3364329e78a1
BLAKE2b-256 580bef35658ee89b5114094addbec4b1e1b19cacb5dba381d9a401ac12ef6f14

See more details on using hashes here.

File details

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

File metadata

  • Download URL: googleapiutils2-0.5.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 578ede97312c9e184f37ad11b92abae08098ef9f068bf1336064a3fc410f7031
MD5 46cf2090a4ed09387ccb148a07e49ecf
BLAKE2b-256 9ee8eac843dd1bc9f5a1755947f7fe26a9182444f8cbaf58ef05682f88bf0b08

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