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

Uploaded Source

Built Distribution

googleapiutils2-0.5.2-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: googleapiutils2-0.5.2.tar.gz
  • Upload date:
  • Size: 15.9 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.2.tar.gz
Algorithm Hash digest
SHA256 4fa4aadc51ea8aa6dcd658957292b4b90f633e218a12fedae719591197351c4e
MD5 18894808851158cf64fbabd94b6941c2
BLAKE2b-256 edcceaa79ccab62abd921fd9acd408a5bfa47f887c090e494eb7d0178741b127

See more details on using hashes here.

File details

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

File metadata

  • Download URL: googleapiutils2-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 18.1 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 898769341a9d960686810272ef8bfb8a6c2b33d6dd1042799b5b595465de6ce7
MD5 641b3d4250229b41c5c182c5a2e48c78
BLAKE2b-256 1aadfb21838fb8144b95a1accca4108a6de83c5b3601c7b4743f348baed28d20

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