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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31860c380c8b2aba50c5d91f31d1b7447419726125be28a5ab72ba8c5eee514f
|
|
| MD5 |
81ca96f4a44837f89fe39d823f352400
|
|
| BLAKE2b-256 |
75cab950abb9b9eeeeb9f301e028ac96399c09e661180155eda455f0b70d5ffb
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f18a2ef98db4b5ed6d0fab2c15502d8da8c01baac027550b288e9e493e4a872
|
|
| MD5 |
7eaaed3e8c964201a68cf7115ff21c53
|
|
| BLAKE2b-256 |
93e2026460e8f8d7b9282afa9eb90a0d584c89fb6870392d7f07f524b6bf8216
|