Skip to content

Google Sheets

API Reference - Google Sheets#

Complete API reference for the wolpie.gsheets module.

Authentication#

_gauth #

Classes#

CredentialsInfo #

Bases: BaseModel

Attributes#
type class-attribute instance-attribute #
type = 'service_account'
project_id instance-attribute #
project_id
private_key_id instance-attribute #
private_key_id
private_key instance-attribute #
private_key
client_email instance-attribute #
client_email
client_id instance-attribute #
client_id
auth_uri instance-attribute #
auth_uri
token_uri instance-attribute #
token_uri
auth_provider_x509_cert_url instance-attribute #
auth_provider_x509_cert_url
client_x509_cert_url instance-attribute #
client_x509_cert_url
universe_domain instance-attribute #
universe_domain

GAuth #

GAuth(
    logger=None,
    credentials_path=None,
    credentials_info=None,
    scopes=None,
    **kwargs
)

Google authentication handler for service accounts.

This class manages Google service account credentials and provides authentication for Google API services.

Parameters:

Name Type Description Default
logger Logger | None

Optional logger instance for logging.

None
credentials_path Path | None

Path to the service account JSON file.

None
credentials_info CredentialsInfo | None

CredentialsInfo object with service account details.

None
scopes list[str] | None

List of OAuth scopes to request.

None
**kwargs Any

Additional keyword arguments passed to credentials.

{}

Raises:

Type Description
ValueError

If neither credentials_info nor credentials_path is provided.

Example
from pathlib import Path
from wolpie.gsheets import GAuth

# Using credentials file
auth = GAuth(credentials_path=Path("service-account.json"))

# Using credentials from environment
from wolpie.gsheets._gauth import credentials_from_env
auth = GAuth(credentials_info=credentials_from_env())
Source code in src/wolpie/gsheets/_gauth.py
def __init__(
    self,
    logger: logging.Logger | None = None,
    credentials_path: Path | None = None,
    credentials_info: CredentialsInfo | None = None,
    scopes: list[str] | None = None,
    **kwargs: Any,
) -> None:
    self._logger = logger or logging.getLogger(__name__)

    if credentials_info is None and credentials_path is None:
        raise ValueError("Either credentials_info or credentials_path must be provided.")

    if scopes is not None:
        kwargs["scopes"] = scopes

    if credentials_path is not None and credentials_path.exists():
        self._logger.debug(f"Using credentials from {credentials_path}")
        self.credentials = service_account.Credentials.from_service_account_file(
            str(credentials_path),
            **kwargs,
        )

    if credentials_info is not None:
        self._logger.debug("Using credentials from provided info")
        self.credentials = service_account.Credentials.from_service_account_info(
            info=credentials_info.model_dump(),
            **kwargs,
        )
Attributes#
credentials instance-attribute #
credentials = from_service_account_file(
    str(credentials_path), **kwargs
)

Functions#

credentials_from_env #

credentials_from_env(prefix='G')

Load Google service account credentials from environment variables.

Parameters:

Name Type Description Default
prefix str

The prefix for environment variable names. Default is "G".

'G'

Returns:

Type Description
CredentialsInfo

A CredentialsInfo object containing the credentials.

Example
# Set environment variables like G_PROJECT_ID, G_PRIVATE_KEY, etc.
creds = credentials_from_env(prefix="G")
Source code in src/wolpie/gsheets/_gauth.py
def credentials_from_env(prefix: str = "G") -> CredentialsInfo:
    """Load Google service account credentials from environment variables.

    Args:
        prefix: The prefix for environment variable names. Default is "G".

    Returns:
        A CredentialsInfo object containing the credentials.

    Example:
        ```python
        # Set environment variables like G_PROJECT_ID, G_PRIVATE_KEY, etc.
        creds = credentials_from_env(prefix="G")
        ```
    """
    env_vars = {
        "type": "service_account",
        "project_id": "",
        "private_key_id": "",
        "private_key": "",
        "client_email": "",
        "client_id": "",
        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
        "token_uri": "https://oauth2.googleapis.com/token",
        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
        "client_x509_cert_url": "",
        "universe_domain": "googleapis.com",
    }

    for key, default_value in env_vars.items():
        env_var_name = f"{prefix}_{key.upper()}" if prefix else key.upper()
        env_var_value = os.getenv(env_var_name, default_value) if default_value else os.getenv(env_var_name)
        if env_var_value is not None:
            env_vars[key] = env_var_value

    return CredentialsInfo(**env_vars)

Sheets Client#

_gsheets #

Classes#

SheetMainProperties #

Bases: TypedDict

Attributes#
title instance-attribute #
title
locale instance-attribute #
locale
autoRecalc instance-attribute #
autoRecalc
timeZone instance-attribute #
timeZone

SheetProperty #

Bases: TypedDict

Attributes#
sheetId instance-attribute #
sheetId
title instance-attribute #
title
index instance-attribute #
index
sheetType instance-attribute #
sheetType

GSheets #

GSheets(g_auth, spreadsheet_id)

Google Sheets API client for reading and writing spreadsheet data.

This class provides a high-level interface for interacting with Google Sheets, including reading values, writing values, and managing sheet metadata.

Attributes:

Name Type Description
SERVICE_NAME str

The Google API service name ("sheets").

GSHEETS_API_VERSION str

The Google Sheets API version to use.

GSHEETS_NUM_RETRIES int

Number of retries for failed API requests.

Parameters:

Name Type Description Default
g_auth GAuth

GAuth instance with valid credentials.

required
spreadsheet_id str

The ID of the Google Spreadsheet to interact with.

required

Raises:

Type Description
ValueError

If invalid authentication credentials are provided.

RuntimeError

If the spreadsheet doesn't have auto recalc set to ON_CHANGE.

Example
from wolpie.gsheets import GAuth, GSheets
from pathlib import Path

# Authenticate and create client
auth = GAuth(credentials_path=Path("service-account.json"))
sheets = GSheets(auth, spreadsheet_id="your-spreadsheet-id")

# Read values
values = sheets.read_values("Sheet1!A1:B10")

# Write values
sheets.write_values("Sheet1!A1", [[1, 2], [3, 4]])
Source code in src/wolpie/gsheets/_gsheets.py
def __init__(
    self,
    g_auth: GAuth,
    spreadsheet_id: str,
) -> None:
    # How the get and execute works:
    # https://googleapis.github.io/google-api-python-client/docs/start.html#methods-and-requests
    # https://googleapis.github.io/google-api-python-client/docs/start.html#execution-and-response
    self._gauth = g_auth
    self._spreadsheet_id = spreadsheet_id
    self._logger = logging.getLogger("GSheets")

    if not self._gauth.credentials:
        raise ValueError("Invalid Google authentication credentials provided.")

    self._create_service()
    self._describe()

    if self.metadata["properties"]["autoRecalc"] != AutoRecalc.ON_CHANGE:
        raise RuntimeError(
            f"Spreadsheet {self._spreadsheet_id} does not have auto recalc set to ON_CHANGE. "
            "Please update the spreadsheet settings.",
        )
Attributes#
SERVICE_NAME class-attribute instance-attribute #
SERVICE_NAME = 'sheets'
GSHEETS_API_VERSION class-attribute instance-attribute #
GSHEETS_API_VERSION = str(
    getenv("GSHEETS_API_VERSION") or "v4"
)
GSHEETS_NUM_RETRIES class-attribute instance-attribute #
GSHEETS_NUM_RETRIES = int(
    getenv("GSHEETS_NUM_RETRIES") or "5"
)
tz property #
tz
Functions#
as_datetime #
as_datetime(serial_value)
Source code in src/wolpie/gsheets/_gsheets.py
def as_datetime(
    self,
    serial_value: float,
) -> datetime:
    # expect the date_time_render_option to be in serial mode
    # whole number is the days since December 30th 1899
    # The fractional portion (right of the decimal) counts the time as a fraction of the day
    # We must use self.metadata["timeZone"] (e.g. Africa/Johannesburg) to get it in a nice TZ format
    base_date = datetime(1899, 12, 30, tzinfo=self.tz)
    delta = timedelta(days=serial_value)
    return base_date + delta
read_cells #
read_cells(
    sheet,
    cell_range=None,
    major_dimension=ROWS,
    value_renderer_option=UNFORMATTED_VALUE,
    date_time_render_option=SERIAL_NUMBER,
    num_retries=None,
)
Source code in src/wolpie/gsheets/_gsheets.py
def read_cells(
    self,
    sheet: str,
    cell_range: str | None = None,
    major_dimension: Dimension = Dimension.ROWS,
    value_renderer_option: ValueRenderOption = ValueRenderOption.UNFORMATTED_VALUE,
    date_time_render_option: DateTimeRenderOption = DateTimeRenderOption.SERIAL_NUMBER,
    num_retries: int | None = None,
) -> ValueRange:
    # https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets.values/get

    a1_range: str = self._create_a1_notation_range(
        sheet=sheet,
        cell_range=cell_range,
    )

    self._logger.debug(
        f"Reading cells from {sheet} with range {cell_range}, major dimension {major_dimension}, "
        f"value renderer option {value_renderer_option}, and date time render option {date_time_render_option}",
    )

    try:
        return (
            self._sheets_client.values()
            .get(
                spreadsheetId=self._spreadsheet_id,
                range=a1_range,
                majorDimension=str(major_dimension),
                valueRenderOption=str(value_renderer_option),
                dateTimeRenderOption=str(date_time_render_option),
            )
            .execute(
                num_retries=num_retries or self.GSHEETS_NUM_RETRIES,
            )
        )
    except HttpError as e:
        _e: GHttpErrorDetails = parse_error(e)
        self._logger.error(
            f"[{_e['status_code']}] Could not read {cell_range=} in {sheet=}: {_e['reason']}",
            extra=_e,
        )
        raise e
update_cells #
update_cells(
    sheet,
    body,
    cell_range=None,
    value_input_option=USER_ENTERED,
    include_values_in_response=False,
    response_value_render_option=UNFORMATTED_VALUE,
    response_date_time_render_option=SERIAL_NUMBER,
    num_retries=None,
)
Source code in src/wolpie/gsheets/_gsheets.py
def update_cells(
    self,
    sheet: str,
    body: ValueRange,
    cell_range: str | None = None,
    value_input_option: ValueInputOption = ValueInputOption.USER_ENTERED,
    include_values_in_response: bool = False,
    response_value_render_option: ValueRenderOption = ValueRenderOption.UNFORMATTED_VALUE,
    response_date_time_render_option: DateTimeRenderOption = DateTimeRenderOption.SERIAL_NUMBER,
    num_retries: int | None = None,
) -> UpdateValuesResponse:
    # ref: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets.values/update

    a1_range: str = self._create_a1_notation_range(
        sheet=sheet,
        cell_range=cell_range,
    )

    self._logger.debug(
        f"Updating cells in {sheet} with range {cell_range}",
    )

    try:
        return (
            self._sheets_client.values()
            .update(
                spreadsheetId=self._spreadsheet_id,
                range=a1_range,
                body=body,
                valueInputOption=str(value_input_option),
                includeValuesInResponse=include_values_in_response,
                responseValueRenderOption=str(response_value_render_option),
                responseDateTimeRenderOption=str(response_date_time_render_option),
            )
            .execute(
                num_retries=num_retries or self.GSHEETS_NUM_RETRIES,
            )
        )
    except HttpError as e:
        _e: GHttpErrorDetails = parse_error(e)
        self._logger.error(
            f"[{_e['status_code']}] Could not update {cell_range=} in {sheet=}: {_e['reason']}",
            extra=_e,
        )
        raise e

Functions#

Google Types#

gt #

Classes#

AutoRecalc #

Bases: StrEnum

Attributes#
RECALCULATION_INTERVAL_UNSPECIFIED class-attribute instance-attribute #
RECALCULATION_INTERVAL_UNSPECIFIED = (
    "RECALCULATION_INTERVAL_UNSPECIFIED"
)
ON_CHANGE class-attribute instance-attribute #
ON_CHANGE = 'ON_CHANGE'
MINUTE class-attribute instance-attribute #
MINUTE = 'MINUTE'
HOUR class-attribute instance-attribute #
HOUR = 'HOUR'

NumberFormatType #

Bases: StrEnum

Attributes#
NUMBER_FORMAT_TYPE_UNSPECIFIED class-attribute instance-attribute #
NUMBER_FORMAT_TYPE_UNSPECIFIED = (
    "NUMBER_FORMAT_TYPE_UNSPECIFIED"
)
TEXT class-attribute instance-attribute #
TEXT = 'TEXT'
NUMBER class-attribute instance-attribute #
NUMBER = 'NUMBER'
PERCENT class-attribute instance-attribute #
PERCENT = 'PERCENT'
CURRENCY class-attribute instance-attribute #
CURRENCY = 'CURRENCY'
DATE class-attribute instance-attribute #
DATE = 'DATE'
TIME class-attribute instance-attribute #
TIME = 'TIME'
DATE_TIME class-attribute instance-attribute #
DATE_TIME = 'DATE_TIME'
SCIENTIFIC class-attribute instance-attribute #
SCIENTIFIC = 'SCIENTIFIC'

NumberFormat #

Bases: TypedDict

Attributes#
type instance-attribute #
type
pattern instance-attribute #
pattern

Color #

Bases: TypedDict

Attributes#
red instance-attribute #
red
green instance-attribute #
green
blue instance-attribute #
blue

ThemeColorType #

Bases: StrEnum

Attributes#
THEME_COLOR_TYPE_UNSPECIFIED class-attribute instance-attribute #
THEME_COLOR_TYPE_UNSPECIFIED = (
    "THEME_COLOR_TYPE_UNSPECIFIED"
)
TEXT class-attribute instance-attribute #
TEXT = 'TEXT'
BACKGROUND class-attribute instance-attribute #
BACKGROUND = 'BACKGROUND'
ACCENT1 class-attribute instance-attribute #
ACCENT1 = 'ACCENT1'
ACCENT2 class-attribute instance-attribute #
ACCENT2 = 'ACCENT2'
ACCENT3 class-attribute instance-attribute #
ACCENT3 = 'ACCENT3'
ACCENT4 class-attribute instance-attribute #
ACCENT4 = 'ACCENT4'
ACCENT5 class-attribute instance-attribute #
ACCENT5 = 'ACCENT5'
ACCENT6 class-attribute instance-attribute #
ACCENT6 = 'ACCENT6'
LINK = 'LINK'

ColorStyle #

Bases: TypedDict

Attributes#
rgbColor instance-attribute #
rgbColor
themeColor instance-attribute #
themeColor

Style #

Bases: StrEnum

Attributes#
STYLE_UNSPECIFIED class-attribute instance-attribute #
STYLE_UNSPECIFIED = 'STYLE_UNSPECIFIED'
DOTTED class-attribute instance-attribute #
DOTTED = 'DOTTED'
DASHED class-attribute instance-attribute #
DASHED = 'DASHED'
SOLID class-attribute instance-attribute #
SOLID = 'SOLID'
SOLID_MEDIUM class-attribute instance-attribute #
SOLID_MEDIUM = 'SOLID_MEDIUM'
SOLID_THICK class-attribute instance-attribute #
SOLID_THICK = 'SOLID_THICK'
NONE class-attribute instance-attribute #
NONE = 'NONE'
DOUBLE class-attribute instance-attribute #
DOUBLE = 'DOUBLE'

Border #

Bases: TypedDict

Attributes#
style instance-attribute #
style
width instance-attribute #
width
color instance-attribute #
color
colorStyle instance-attribute #
colorStyle

Borders #

Bases: TypedDict

Attributes#
top instance-attribute #
top
bottom instance-attribute #
bottom
left instance-attribute #
left
right instance-attribute #
right

Padding #

Bases: TypedDict

Attributes#
top instance-attribute #
top
right instance-attribute #
right
bottom instance-attribute #
bottom
left instance-attribute #
left

HorizontalAlign #

Bases: StrEnum

Attributes#
HORIZONTAL_ALIGN_UNSPECIFIED class-attribute instance-attribute #
HORIZONTAL_ALIGN_UNSPECIFIED = (
    "HORIZONTAL_ALIGN_UNSPECIFIED"
)
LEFT class-attribute instance-attribute #
LEFT = 'LEFT'
CENTER class-attribute instance-attribute #
CENTER = 'CENTER'
RIGHT class-attribute instance-attribute #
RIGHT = 'RIGHT'

VerticalAlign #

Bases: StrEnum

Attributes#
VERTICAL_ALIGN_UNSPECIFIED class-attribute instance-attribute #
VERTICAL_ALIGN_UNSPECIFIED = 'VERTICAL_ALIGN_UNSPECIFIED'
TOP class-attribute instance-attribute #
TOP = 'TOP'
MIDDLE class-attribute instance-attribute #
MIDDLE = 'MIDDLE'
BOTTOM class-attribute instance-attribute #
BOTTOM = 'BOTTOM'

WrapStrategy #

Bases: StrEnum

Attributes#
WRAP_STRATEGY_UNSPECIFIED class-attribute instance-attribute #
WRAP_STRATEGY_UNSPECIFIED = 'WRAP_STRATEGY_UNSPECIFIED'
OVERFLOW_CELL class-attribute instance-attribute #
OVERFLOW_CELL = 'OVERFLOW_CELL'
LEGACY_WRAP class-attribute instance-attribute #
LEGACY_WRAP = 'LEGACY_WRAP'
CLIP class-attribute instance-attribute #
CLIP = 'CLIP'
WRAP class-attribute instance-attribute #
WRAP = 'WRAP'

TextDirection #

Bases: StrEnum

Attributes#
TEXT_DIRECTION_UNSPECIFIED class-attribute instance-attribute #
TEXT_DIRECTION_UNSPECIFIED = 'TEXT_DIRECTION_UNSPECIFIED'
LEFT_TO_RIGHT class-attribute instance-attribute #
LEFT_TO_RIGHT = 'LEFT_TO_RIGHT'
RIGHT_TO_LEFT class-attribute instance-attribute #
RIGHT_TO_LEFT = 'RIGHT_TO_LEFT'

Bases: TypedDict

uri instance-attribute #
uri

TextFormat #

Bases: TypedDict

Attributes#
foregroundColor instance-attribute #
foregroundColor
foregroundColorStyle instance-attribute #
foregroundColorStyle
fontFamily instance-attribute #
fontFamily
fontSize instance-attribute #
fontSize
bold instance-attribute #
bold
italic instance-attribute #
italic
strikethrough instance-attribute #
strikethrough
underline instance-attribute #
underline
link

HyperlinkDisplayType #

Bases: StrEnum

Attributes#
HYPERLINK_DISPLAY_TYPE_UNSPECIFIED = (
    "HYPERLINK_DISPLAY_TYPE_UNSPECIFIED"
)
LINKED class-attribute instance-attribute #
LINKED = 'LINKED'
PLAIN_TEXT class-attribute instance-attribute #
PLAIN_TEXT = 'PLAIN_TEXT'

TextRotation #

Bases: TypedDict

Attributes#
angle instance-attribute #
angle
vertical instance-attribute #
vertical

CellFormat #

Bases: TypedDict

Attributes#
numberFormat instance-attribute #
numberFormat
backgroundColor instance-attribute #
backgroundColor
backgroundColorStyle instance-attribute #
backgroundColorStyle
borders instance-attribute #
borders
padding instance-attribute #
padding
horizontalAlignment instance-attribute #
horizontalAlignment
verticalAlignment instance-attribute #
verticalAlignment
wrapStrategy instance-attribute #
wrapStrategy
textDirection instance-attribute #
textDirection
textFormat instance-attribute #
textFormat
hyperlinkDisplayType instance-attribute #
hyperlinkDisplayType
textRotation instance-attribute #
textRotation

IterativeCalculationSettings #

Bases: TypedDict

Attributes#
maxIterations instance-attribute #
maxIterations
convergenceThreshold instance-attribute #
convergenceThreshold

ThemeColorPair #

Bases: TypedDict

Attributes#
colorType instance-attribute #
colorType
color instance-attribute #
color

SpreadsheetTheme #

Bases: TypedDict

Attributes#
primaryFontFamily instance-attribute #
primaryFontFamily
themeColors instance-attribute #
themeColors

SpreadsheetProperties #

Bases: TypedDict

Attributes#
title instance-attribute #
title
locale instance-attribute #
locale
autoRecalc instance-attribute #
autoRecalc
timeZone instance-attribute #
timeZone
defaultFormat instance-attribute #
defaultFormat
iterativeCalculationSettings instance-attribute #
iterativeCalculationSettings
spreadsheetTheme instance-attribute #
spreadsheetTheme
importFunctionsExternalUrlAccessAllowed instance-attribute #
importFunctionsExternalUrlAccessAllowed

ErrorType #

Bases: StrEnum

Attributes#
ERROR_TYPE_UNSPECIFIED class-attribute instance-attribute #
ERROR_TYPE_UNSPECIFIED = 'ERROR_TYPE_UNSPECIFIED'
ERROR class-attribute instance-attribute #
ERROR = 'ERROR'
NULL_VALUE class-attribute instance-attribute #
NULL_VALUE = 'NULL_VALUE'
DIVIDE_BY_ZERO class-attribute instance-attribute #
DIVIDE_BY_ZERO = 'DIVIDE_BY_ZERO'
VALUE class-attribute instance-attribute #
VALUE = 'VALUE'
REF class-attribute instance-attribute #
REF = 'REF'
NAME class-attribute instance-attribute #
NAME = 'NAME'
NUM class-attribute instance-attribute #
NUM = 'NUM'
N_A class-attribute instance-attribute #
N_A = 'N_A'
LOADING class-attribute instance-attribute #
LOADING = 'LOADING'

ErrorValue #

Bases: TypedDict

Attributes#
type instance-attribute #
type
message instance-attribute #
message

ExtendedValue #

Bases: TypedDict

Attributes#
numberValue instance-attribute #
numberValue
stringValue instance-attribute #
stringValue
boolValue instance-attribute #
boolValue
formulaValue instance-attribute #
formulaValue
errorValue instance-attribute #
errorValue

TextFormatRun #

Bases: TypedDict

Attributes#
startIndex instance-attribute #
startIndex
format instance-attribute #
format

ConditionType #

Bases: StrEnum

Attributes#
CONDITION_TYPE_UNSPECIFIED class-attribute instance-attribute #
CONDITION_TYPE_UNSPECIFIED = 'CONDITION_TYPE_UNSPECIFIED'
NUMBER_GREATER class-attribute instance-attribute #
NUMBER_GREATER = 'NUMBER_GREATER'
NUMBER_GREATER_THAN_EQ class-attribute instance-attribute #
NUMBER_GREATER_THAN_EQ = 'NUMBER_GREATER_THAN_EQ'
NUMBER_LESS class-attribute instance-attribute #
NUMBER_LESS = 'NUMBER_LESS'
NUMBER_LESS_THAN_EQ class-attribute instance-attribute #
NUMBER_LESS_THAN_EQ = 'NUMBER_LESS_THAN_EQ'
NUMBER_EQ class-attribute instance-attribute #
NUMBER_EQ = 'NUMBER_EQ'
NUMBER_NOT_EQ class-attribute instance-attribute #
NUMBER_NOT_EQ = 'NUMBER_NOT_EQ'
NUMBER_BETWEEN class-attribute instance-attribute #
NUMBER_BETWEEN = 'NUMBER_BETWEEN'
NUMBER_NOT_BETWEEN class-attribute instance-attribute #
NUMBER_NOT_BETWEEN = 'NUMBER_NOT_BETWEEN'
TEXT_CONTAINS class-attribute instance-attribute #
TEXT_CONTAINS = 'TEXT_CONTAINS'
TEXT_NOT_CONTAINS class-attribute instance-attribute #
TEXT_NOT_CONTAINS = 'TEXT_NOT_CONTAINS'
TEXT_STARTS_WITH class-attribute instance-attribute #
TEXT_STARTS_WITH = 'TEXT_STARTS_WITH'
TEXT_ENDS_WITH class-attribute instance-attribute #
TEXT_ENDS_WITH = 'TEXT_ENDS_WITH'
TEXT_EQ class-attribute instance-attribute #
TEXT_EQ = 'TEXT_EQ'
TEXT_IS_EMAIL class-attribute instance-attribute #
TEXT_IS_EMAIL = 'TEXT_IS_EMAIL'
TEXT_IS_URL class-attribute instance-attribute #
TEXT_IS_URL = 'TEXT_IS_URL'
DATE_EQ class-attribute instance-attribute #
DATE_EQ = 'DATE_EQ'
DATE_AFTER class-attribute instance-attribute #
DATE_AFTER = 'DATE_AFTER'
DATE_ON_OR_BEFORE class-attribute instance-attribute #
DATE_ON_OR_BEFORE = 'DATE_ON_OR_BEFORE'
DATE_BETWEEN class-attribute instance-attribute #
DATE_BETWEEN = 'DATE_BETWEEN'
DATE_NOT_BETWEEN class-attribute instance-attribute #
DATE_NOT_BETWEEN = 'DATE_NOT_BETWEEN'
DATE_ON_OR_AFTER class-attribute instance-attribute #
DATE_ON_OR_AFTER = 'DATE_ON_OR_AFTER'
DATE_IS_VALID class-attribute instance-attribute #
DATE_IS_VALID = 'DATE_IS_VALID'
ONE_OF_RANGE class-attribute instance-attribute #
ONE_OF_RANGE = 'ONE_OF_RANGE'
BLANK class-attribute instance-attribute #
BLANK = 'BLANK'
NOT_BLANK class-attribute instance-attribute #
NOT_BLANK = 'NOT_BLANK'
ONE_OF_LIST class-attribute instance-attribute #
ONE_OF_LIST = 'ONE_OF_LIST'
CUSTOM_FORMULA class-attribute instance-attribute #
CUSTOM_FORMULA = 'CUSTOM_FORMULA'
TEXT_NOT_EQ class-attribute instance-attribute #
TEXT_NOT_EQ = 'TEXT_NOT_EQ'
DATE_NOT_EQ class-attribute instance-attribute #
DATE_NOT_EQ = 'DATE_NOT_EQ'
BOOLEAN class-attribute instance-attribute #
BOOLEAN = 'BOOLEAN'
FILTER_EXPRESSION class-attribute instance-attribute #
FILTER_EXPRESSION = 'FILTER_EXPRESSION'
DATE_BEFORE class-attribute instance-attribute #
DATE_BEFORE = 'DATE_BEFORE'

RelativeDate #

Bases: StrEnum

Attributes#
RELATIVE_DATE_UNSPECIFIED class-attribute instance-attribute #
RELATIVE_DATE_UNSPECIFIED = 'RELATIVE_DATE_UNSPECIFIED'
PAST_YEAR class-attribute instance-attribute #
PAST_YEAR = 'PAST_YEAR'
PAST_MONTH class-attribute instance-attribute #
PAST_MONTH = 'PAST_MONTH'
PAST_WEEK class-attribute instance-attribute #
PAST_WEEK = 'PAST_WEEK'
YESTERDAY class-attribute instance-attribute #
YESTERDAY = 'YESTERDAY'
TODAY class-attribute instance-attribute #
TODAY = 'TODAY'
TOMORROW class-attribute instance-attribute #
TOMORROW = 'TOMORROW'

ConditionValue #

Bases: TypedDict

Attributes#
relativeDate instance-attribute #
relativeDate
userEnteredValue instance-attribute #
userEnteredValue

BooleanCondition #

Bases: TypedDict

Attributes#
type instance-attribute #
type
values instance-attribute #
values

DataValidationRule #

Bases: TypedDict

Attributes#
condition instance-attribute #
condition
inputMessage instance-attribute #
inputMessage
strict instance-attribute #
strict
showCustomUi instance-attribute #
showCustomUi

PivotGroupMetadata #

Bases: TypedDict

Attributes#
value instance-attribute #
value
collapsed instance-attribute #
collapsed

SortOrder #

Bases: StrEnum

Attributes#
SORT_ORDER_UNSPECIFIED class-attribute instance-attribute #
SORT_ORDER_UNSPECIFIED = 'SORT_ORDER_UNSPECIFIED'
ASCENDING class-attribute instance-attribute #
ASCENDING = 'ASCENDING'
DESCENDING class-attribute instance-attribute #
DESCENDING = 'DESCENDING'

PivotGroupSortValueBucket #

Bases: TypedDict

Attributes#
valuesIndex instance-attribute #
valuesIndex
buckets instance-attribute #
buckets

ManualRuleGroup #

Bases: TypedDict

Attributes#
groupName instance-attribute #
groupName
items instance-attribute #
items

ManualRule #

Bases: TypedDict

Attributes#
groups instance-attribute #
groups

HistogramRule #

Bases: TypedDict

Attributes#
interval instance-attribute #
interval
start instance-attribute #
start
end instance-attribute #
end

DateTimeRuleType #

Bases: StrEnum

Attributes#
DATE_TIME_RULE_TYPE_UNSPECIFIED class-attribute instance-attribute #
DATE_TIME_RULE_TYPE_UNSPECIFIED = (
    "DATE_TIME_RULE_TYPE_UNSPECIFIED"
)
SECOND class-attribute instance-attribute #
SECOND = 'SECOND'
MINUTE class-attribute instance-attribute #
MINUTE = 'MINUTE'
HOUR class-attribute instance-attribute #
HOUR = 'HOUR'
HOUR_MINUTE class-attribute instance-attribute #
HOUR_MINUTE = 'HOUR_MINUTE'
HOUR_MINUTE_AMPM class-attribute instance-attribute #
HOUR_MINUTE_AMPM = 'HOUR_MINUTE_AMPM'
DAY_OF_WEEK class-attribute instance-attribute #
DAY_OF_WEEK = 'DAY_OF_WEEK'
DAY_OF_YEAR class-attribute instance-attribute #
DAY_OF_YEAR = 'DAY_OF_YEAR'
DAY_OF_MONTH class-attribute instance-attribute #
DAY_OF_MONTH = 'DAY_OF_MONTH'
DAY_MONTH class-attribute instance-attribute #
DAY_MONTH = 'DAY_MONTH'
MONTH class-attribute instance-attribute #
MONTH = 'MONTH'
QUARTER class-attribute instance-attribute #
QUARTER = 'QUARTER'
YEAR class-attribute instance-attribute #
YEAR = 'YEAR'
YEAR_MONTH class-attribute instance-attribute #
YEAR_MONTH = 'YEAR_MONTH'
YEAR_QUARTER class-attribute instance-attribute #
YEAR_QUARTER = 'YEAR_QUARTER'
YEAR_MONTH_DAY class-attribute instance-attribute #
YEAR_MONTH_DAY = 'YEAR_MONTH_DAY'

DateTimeRule #

Bases: TypedDict

Attributes#
type instance-attribute #
type

PivotGroupRule #

Bases: TypedDict

Attributes#
manualRule instance-attribute #
manualRule
histogramRule instance-attribute #
histogramRule
dateTimeRule instance-attribute #
dateTimeRule

PivotGroupLimit #

Bases: TypedDict

Attributes#
countLimit instance-attribute #
countLimit
applyOrder instance-attribute #
applyOrder

DataSourceColumnReference #

Bases: TypedDict

Attributes#
name instance-attribute #
name

PivotGroup #

Bases: TypedDict

Attributes#
showTotals instance-attribute #
showTotals
valueMetadata instance-attribute #
valueMetadata
sortOrder instance-attribute #
sortOrder
valueBucket instance-attribute #
valueBucket
repeatHeadings instance-attribute #
repeatHeadings
label instance-attribute #
label
groupRule instance-attribute #
groupRule
groupLimit instance-attribute #
groupLimit
sourceColumnOffset instance-attribute #
sourceColumnOffset
dataSourceColumnReference instance-attribute #
dataSourceColumnReference

PivotFilterCriteria #

Bases: TypedDict

Attributes#
visibleStrings instance-attribute #
visibleStrings
condition instance-attribute #
condition
visibleByDefault instance-attribute #
visibleByDefault

PivotFilterSpec #

Bases: TypedDict

Attributes#
filterCriteria instance-attribute #
filterCriteria
columnOffsetIndex instance-attribute #
columnOffsetIndex
dataSourceColumnReference instance-attribute #
dataSourceColumnReference

PivotValueSummarizeFunction #

Bases: StrEnum

Attributes#
PIVOT_STANDARD_VALUE_FUNCTION_UNSPECIFIED class-attribute instance-attribute #
PIVOT_STANDARD_VALUE_FUNCTION_UNSPECIFIED = (
    "PIVOT_STANDARD_VALUE_FUNCTION_UNSPECIFIED"
)
SUM class-attribute instance-attribute #
SUM = 'SUM'
COUNTA class-attribute instance-attribute #
COUNTA = 'COUNTA'
COUNT class-attribute instance-attribute #
COUNT = 'COUNT'
COUNTUNIQUE class-attribute instance-attribute #
COUNTUNIQUE = 'COUNTUNIQUE'
AVERAGE class-attribute instance-attribute #
AVERAGE = 'AVERAGE'
MAX class-attribute instance-attribute #
MAX = 'MAX'
MIN class-attribute instance-attribute #
MIN = 'MIN'
MEDIAN class-attribute instance-attribute #
MEDIAN = 'MEDIAN'
PRODUCT class-attribute instance-attribute #
PRODUCT = 'PRODUCT'
STDEV class-attribute instance-attribute #
STDEV = 'STDEV'
STDEVP class-attribute instance-attribute #
STDEVP = 'STDEVP'
VAR class-attribute instance-attribute #
VAR = 'VAR'
VARP class-attribute instance-attribute #
VARP = 'VARP'
CUSTOM class-attribute instance-attribute #
CUSTOM = 'CUSTOM'
NONE class-attribute instance-attribute #
NONE = 'NONE'

PivotValueCalculatedDisplayType #

Bases: StrEnum

Attributes#
PIVOT_VALUE_CALCULATED_DISPLAY_TYPE_UNSPECIFIED class-attribute instance-attribute #
PIVOT_VALUE_CALCULATED_DISPLAY_TYPE_UNSPECIFIED = (
    "PIVOT_VALUE_CALCULATED_DISPLAY_TYPE_UNSPECIFIED"
)
PERCENT_OF_ROW_TOTAL class-attribute instance-attribute #
PERCENT_OF_ROW_TOTAL = 'PERCENT_OF_ROW_TOTAL'
PERCENT_OF_COLUMN_TOTAL class-attribute instance-attribute #
PERCENT_OF_COLUMN_TOTAL = 'PERCENT_OF_COLUMN_TOTAL'
PERCENT_OF_GRAND_TOTAL class-attribute instance-attribute #
PERCENT_OF_GRAND_TOTAL = 'PERCENT_OF_GRAND_TOTAL'

PivotValue #

Bases: TypedDict

Attributes#
summarizeFunction instance-attribute #
summarizeFunction
name instance-attribute #
name
calculatedDisplayType instance-attribute #
calculatedDisplayType
sourceColumnOffset instance-attribute #
sourceColumnOffset
formula instance-attribute #
formula
dataSourceColumnReference instance-attribute #
dataSourceColumnReference

PivotValueLayout #

Bases: StrEnum

Attributes#
HORIZONTAL class-attribute instance-attribute #
HORIZONTAL = 'HORIZONTAL'
VERTICAL class-attribute instance-attribute #
VERTICAL = 'VERTICAL'

DataExecutionState #

Bases: StrEnum

Attributes#
DATA_EXECUTION_STATE_UNSPECIFIED class-attribute instance-attribute #
DATA_EXECUTION_STATE_UNSPECIFIED = (
    "DATA_EXECUTION_STATE_UNSPECIFIED"
)
NOT_STARTED class-attribute instance-attribute #
NOT_STARTED = 'NOT_STARTED'
RUNNING class-attribute instance-attribute #
RUNNING = 'RUNNING'
CANCELLING class-attribute instance-attribute #
CANCELLING = 'CANCELLING'
SUCCEEDED class-attribute instance-attribute #
SUCCEEDED = 'SUCCEEDED'
FAILED class-attribute instance-attribute #
FAILED = 'FAILED'

DataExecutionErrorCode #

Bases: StrEnum

Attributes#
DATA_EXECUTION_ERROR_CODE_UNSPECIFIED class-attribute instance-attribute #
DATA_EXECUTION_ERROR_CODE_UNSPECIFIED = (
    "DATA_EXECUTION_ERROR_CODE_UNSPECIFIED"
)
TIMED_OUT class-attribute instance-attribute #
TIMED_OUT = 'TIMED_OUT'
TOO_MANY_ROWS class-attribute instance-attribute #
TOO_MANY_ROWS = 'TOO_MANY_ROWS'
TOO_MANY_COLUMNS class-attribute instance-attribute #
TOO_MANY_COLUMNS = 'TOO_MANY_COLUMNS'
TOO_MANY_CELLS class-attribute instance-attribute #
TOO_MANY_CELLS = 'TOO_MANY_CELLS'
ENGINE class-attribute instance-attribute #
ENGINE = 'ENGINE'
PARAMETER_INVALID class-attribute instance-attribute #
PARAMETER_INVALID = 'PARAMETER_INVALID'
UNSUPPORTED_DATA_TYPE class-attribute instance-attribute #
UNSUPPORTED_DATA_TYPE = 'UNSUPPORTED_DATA_TYPE'
DUPLICATE_COLUMN_NAMES class-attribute instance-attribute #
DUPLICATE_COLUMN_NAMES = 'DUPLICATE_COLUMN_NAMES'
INTERRUPTED class-attribute instance-attribute #
INTERRUPTED = 'INTERRUPTED'
CONCURRENT_QUERY class-attribute instance-attribute #
CONCURRENT_QUERY = 'CONCURRENT_QUERY'
OTHER class-attribute instance-attribute #
OTHER = 'OTHER'
TOO_MANY_CHARS_PER_CELL class-attribute instance-attribute #
TOO_MANY_CHARS_PER_CELL = 'TOO_MANY_CHARS_PER_CELL'
DATA_NOT_FOUND class-attribute instance-attribute #
DATA_NOT_FOUND = 'DATA_NOT_FOUND'
PERMISSION_DENIED class-attribute instance-attribute #
PERMISSION_DENIED = 'PERMISSION_DENIED'
MISSING_COLUMN_ALIAS class-attribute instance-attribute #
MISSING_COLUMN_ALIAS = 'MISSING_COLUMN_ALIAS'
OBJECT_NOT_FOUND class-attribute instance-attribute #
OBJECT_NOT_FOUND = 'OBJECT_NOT_FOUND'
OBJECT_IN_ERROR_STATE class-attribute instance-attribute #
OBJECT_IN_ERROR_STATE = 'OBJECT_IN_ERROR_STATE'
OBJECT_SPEC_INVALID class-attribute instance-attribute #
OBJECT_SPEC_INVALID = 'OBJECT_SPEC_INVALID'
DATA_EXECUTION_CANCELLED class-attribute instance-attribute #
DATA_EXECUTION_CANCELLED = 'DATA_EXECUTION_CANCELLED'

DataExecutionStatus #

Bases: TypedDict

Attributes#
state instance-attribute #
state
errorCode instance-attribute #
errorCode
errorMessage instance-attribute #
errorMessage
lastRefreshTime instance-attribute #
lastRefreshTime

GridRange #

Bases: TypedDict

Attributes#
sheetId instance-attribute #
sheetId
startRowIndex instance-attribute #
startRowIndex
endRowIndex instance-attribute #
endRowIndex
startColumnIndex instance-attribute #
startColumnIndex
endColumnIndex instance-attribute #
endColumnIndex

PivotTable #

Bases: TypedDict

Attributes#
rows instance-attribute #
rows
columns instance-attribute #
columns
criteria instance-attribute #
criteria
filterSpecs instance-attribute #
filterSpecs
values instance-attribute #
values
valueLayout instance-attribute #
valueLayout
dataExecutionStatus instance-attribute #
dataExecutionStatus
source instance-attribute #
source
dataSourceId instance-attribute #
dataSourceId

DataSourceTableColumnSelectionType #

Bases: StrEnum

Attributes#
DATA_SOURCE_TABLE_COLUMN_SELECTION_TYPE_UNSPECIFIED class-attribute instance-attribute #
DATA_SOURCE_TABLE_COLUMN_SELECTION_TYPE_UNSPECIFIED = (
    "DATA_SOURCE_TABLE_COLUMN_SELECTION_TYPE_UNSPECIFIED"
)
SELECTED class-attribute instance-attribute #
SELECTED = 'SELECTED'
SYNC_ALL class-attribute instance-attribute #
SYNC_ALL = 'SYNC_ALL'

FilterCriteria #

Bases: TypedDict

Attributes#
hiddenValues instance-attribute #
hiddenValues
condition instance-attribute #
condition
visibleBackgroundColor instance-attribute #
visibleBackgroundColor
visibleBackgroundColorStyle instance-attribute #
visibleBackgroundColorStyle
visibleForegroundColor instance-attribute #
visibleForegroundColor
visibleForegroundColorStyle instance-attribute #
visibleForegroundColorStyle

FilterSpec #

Bases: TypedDict

Attributes#
filterCriteria instance-attribute #
filterCriteria
columnIndex instance-attribute #
columnIndex
dataSourceColumnReference instance-attribute #
dataSourceColumnReference

SortSpec #

Bases: TypedDict

Attributes#
sortOrder instance-attribute #
sortOrder
foregroundColor instance-attribute #
foregroundColor
foregroundColorStyle instance-attribute #
foregroundColorStyle
backgroundColor instance-attribute #
backgroundColor
backgroundColorStyle instance-attribute #
backgroundColorStyle
dimensionIndex instance-attribute #
dimensionIndex
dataSourceColumnReference instance-attribute #
dataSourceColumnReference

DataSourceTable #

Bases: TypedDict

Attributes#
dataSourceId instance-attribute #
dataSourceId
columnSelectionType instance-attribute #
columnSelectionType
columns instance-attribute #
columns
filterSpecs instance-attribute #
filterSpecs
sortSpecs instance-attribute #
sortSpecs
rowLimit instance-attribute #
rowLimit
dataExecutionStatus instance-attribute #
dataExecutionStatus

DataSourceFormula #

Bases: TypedDict

Attributes#
dataSourceId instance-attribute #
dataSourceId
dataExecutionStatus instance-attribute #
dataExecutionStatus

DisplayFormat #

Bases: StrEnum

Attributes#
DISPLAY_FORMAT_UNSPECIFIED class-attribute instance-attribute #
DISPLAY_FORMAT_UNSPECIFIED = 'DISPLAY_FORMAT_UNSPECIFIED'
DEFAULT class-attribute instance-attribute #
DEFAULT = 'DEFAULT'
LAST_NAME_COMMA_FIRST_NAME class-attribute instance-attribute #
LAST_NAME_COMMA_FIRST_NAME = 'LAST_NAME_COMMA_FIRST_NAME'
EMAIL class-attribute instance-attribute #
EMAIL = 'EMAIL'

RichLinkProperties #

Bases: TypedDict

Attributes#
uri instance-attribute #
uri
mimeType instance-attribute #
mimeType

PersonProperties #

Bases: TypedDict

Attributes#
email instance-attribute #
email
displayFormat instance-attribute #
displayFormat
richLinkProperties instance-attribute #
richLinkProperties

Chip #

Bases: TypedDict

Attributes#
personProperties instance-attribute #
personProperties

ChipRun #

Bases: TypedDict

Attributes#
startIndex instance-attribute #
startIndex
chip instance-attribute #
chip

CellData #

Bases: TypedDict

Attributes#
userEnteredValue instance-attribute #
userEnteredValue
effectiveValue instance-attribute #
effectiveValue
formattedValue instance-attribute #
formattedValue
userEnteredFormat instance-attribute #
userEnteredFormat
effectiveFormat instance-attribute #
effectiveFormat
hyperlink
note instance-attribute #
note
testFormatRuns instance-attribute #
testFormatRuns
dataValidation instance-attribute #
dataValidation
pivotTable instance-attribute #
pivotTable
dataSourceTable instance-attribute #
dataSourceTable
dataSourceFormula instance-attribute #
dataSourceFormula
chipRuns instance-attribute #
chipRuns

RowData #

Bases: TypedDict

Attributes#
values instance-attribute #
values

DeveloperMetadataLocationType #

Bases: StrEnum

Attributes#
DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED class-attribute instance-attribute #
DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED = (
    "DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED"
)
ROW class-attribute instance-attribute #
ROW = 'ROW'
COLUMN class-attribute instance-attribute #
COLUMN = 'COLUMN'
SHEET class-attribute instance-attribute #
SHEET = 'SHEET'
SPREADSHEET class-attribute instance-attribute #
SPREADSHEET = 'SPREADSHEET'

Dimension #

Bases: StrEnum

Attributes#
DIMENSION_UNSPECIFIED class-attribute instance-attribute #
DIMENSION_UNSPECIFIED = 'DIMENSION_UNSPECIFIED'
ROWS class-attribute instance-attribute #
ROWS = 'ROWS'
COLUMNS class-attribute instance-attribute #
COLUMNS = 'COLUMNS'

DimensionRange #

Bases: TypedDict

Attributes#
sheetId instance-attribute #
sheetId
dimension instance-attribute #
dimension
startIndex instance-attribute #
startIndex
endIndex instance-attribute #
endIndex

DeveloperMetadataLocation #

Bases: TypedDict

Attributes#
locationType instance-attribute #
locationType
spreadsheet instance-attribute #
spreadsheet
sheetId instance-attribute #
sheetId
dimensionRange instance-attribute #
dimensionRange

DeveloperMetadataVisibility #

Bases: StrEnum

Attributes#
DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED class-attribute instance-attribute #
DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED = (
    "DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED"
)
DOCUMENT class-attribute instance-attribute #
DOCUMENT = 'DOCUMENT'
PROJECT class-attribute instance-attribute #
PROJECT = 'PROJECT'

DeveloperMetadata #

Bases: TypedDict

Attributes#
metadataId instance-attribute #
metadataId
metadataKey instance-attribute #
metadataKey
metadataValue instance-attribute #
metadataValue
location instance-attribute #
location
visibility instance-attribute #
visibility

DimensionProperties #

Bases: TypedDict

Attributes#
hiddenByFilter instance-attribute #
hiddenByFilter
hiddenByUser instance-attribute #
hiddenByUser
pixelSize instance-attribute #
pixelSize
developerMetadata instance-attribute #
developerMetadata
dataSourceColumnReference instance-attribute #
dataSourceColumnReference

GridData #

Bases: TypedDict

Attributes#
startRow instance-attribute #
startRow
startColumn instance-attribute #
startColumn
rowData instance-attribute #
rowData
rowMetadata instance-attribute #
rowMetadata
columnMetadata instance-attribute #
columnMetadata

BooleanRule #

Bases: TypedDict

Attributes#
condition instance-attribute #
condition
format instance-attribute #
format

InterpolationPointType #

Bases: StrEnum

Attributes#
INTERPOLATION_POINT_TYPE_UNSPECIFIED class-attribute instance-attribute #
INTERPOLATION_POINT_TYPE_UNSPECIFIED = (
    "INTERPOLATION_POINT_TYPE_UNSPECIFIED"
)
MIN class-attribute instance-attribute #
MIN = 'MIN'
MAX class-attribute instance-attribute #
MAX = 'MAX'
NUMBER class-attribute instance-attribute #
NUMBER = 'NUMBER'
PERCENT class-attribute instance-attribute #
PERCENT = 'PERCENT'
PERCENTILE class-attribute instance-attribute #
PERCENTILE = 'PERCENTILE'

InterpolationPoint #

Bases: TypedDict

Attributes#
color instance-attribute #
color
ColorStyle instance-attribute #
ColorStyle
type instance-attribute #
type
value instance-attribute #
value

GradientRule #

Bases: TypedDict

Attributes#
minpoint instance-attribute #
minpoint
midpoint instance-attribute #
midpoint
maxpoint instance-attribute #
maxpoint

ConditionalFormatRule #

Bases: TypedDict

Attributes#
ranges instance-attribute #
ranges
booleanRule instance-attribute #
booleanRule
gradientRule instance-attribute #
gradientRule

FilterView #

Bases: TypedDict

Attributes#
filterViewId instance-attribute #
filterViewId
title instance-attribute #
title
range instance-attribute #
range
namedRangeId instance-attribute #
namedRangeId
tableId instance-attribute #
tableId
sortSpecs instance-attribute #
sortSpecs
criteria instance-attribute #
criteria
filterSpecs instance-attribute #
filterSpecs

Editors #

Bases: TypedDict

Attributes#
users instance-attribute #
users
groups instance-attribute #
groups
domainUsersCanEdit instance-attribute #
domainUsersCanEdit

ProtectedRange #

Bases: TypedDict

Attributes#
protectedRangeId instance-attribute #
protectedRangeId
range instance-attribute #
range
namedRangeId instance-attribute #
namedRangeId
tableId instance-attribute #
tableId
description instance-attribute #
description
warningOnly instance-attribute #
warningOnly
requestingUserCanEdit instance-attribute #
requestingUserCanEdit
unprotectedRanges instance-attribute #
unprotectedRanges
editors instance-attribute #
editors

BasicFilter #

Bases: TypedDict

Attributes#
range instance-attribute #
range
tableId instance-attribute #
tableId
sortSpecs instance-attribute #
sortSpecs
criteria instance-attribute #
criteria
filterSpecs instance-attribute #
filterSpecs

TextPosition #

Bases: TypedDict

Attributes#
horizontalAlignment instance-attribute #
horizontalAlignment

DataSourceChartProperties #

Bases: TypedDict

Attributes#
dataSourceId instance-attribute #
dataSourceId
dataExecutionStatus instance-attribute #
dataExecutionStatus

ChartHiddenDimensionStrategy #

Bases: StrEnum

Attributes#
CHART_HIDDEN_DIMENSION_STRATEGY_UNSPECIFIED class-attribute instance-attribute #
CHART_HIDDEN_DIMENSION_STRATEGY_UNSPECIFIED = (
    "CHART_HIDDEN_DIMENSION_STRATEGY_UNSPECIFIED"
)
SKIP_HIDDEN_ROWS_AND_COLUMNS class-attribute instance-attribute #
SKIP_HIDDEN_ROWS_AND_COLUMNS = (
    "SKIP_HIDDEN_ROWS_AND_COLUMNS"
)
SKIP_HIDDEN_ROWS class-attribute instance-attribute #
SKIP_HIDDEN_ROWS = 'SKIP_HIDDEN_ROWS'
SKIP_HIDDEN_COLUMNS class-attribute instance-attribute #
SKIP_HIDDEN_COLUMNS = 'SKIP_HIDDEN_COLUMNS'
SHOW_ALL class-attribute instance-attribute #
SHOW_ALL = 'SHOW_ALL'

BasicChartSpec #

Bases: TypedDict

ChartSpec #

Bases: TypedDict

Attributes#
title instance-attribute #
title
altText instance-attribute #
altText
titleTextFormat instance-attribute #
titleTextFormat
titleTextPosition instance-attribute #
titleTextPosition
subtitle instance-attribute #
subtitle
subtitleTextFormat instance-attribute #
subtitleTextFormat
subtitleTextPosition instance-attribute #
subtitleTextPosition
fontName instance-attribute #
fontName
maximized instance-attribute #
maximized
backgroundColor instance-attribute #
backgroundColor
backgroundColorStyle instance-attribute #
backgroundColorStyle
dataSourceChartProperties instance-attribute #
dataSourceChartProperties
filterSpecs instance-attribute #
filterSpecs
sortSpecs instance-attribute #
sortSpecs
hiddenDimensionStrategy instance-attribute #
hiddenDimensionStrategy
basicChart instance-attribute #
basicChart

EmbeddedChart #

Bases: TypedDict

Attributes#
chartId instance-attribute #
chartId
spec instance-attribute #
spec

BandingProperties #

Bases: TypedDict

Attributes#
headerColor instance-attribute #
headerColor
headerColorStyle instance-attribute #
headerColorStyle
firstBandColor instance-attribute #
firstBandColor
firstBandColorStyle instance-attribute #
firstBandColorStyle
secondBandColor instance-attribute #
secondBandColor
secondBandColorStyle instance-attribute #
secondBandColorStyle
footerColor instance-attribute #
footerColor
footerColorStyle instance-attribute #
footerColorStyle

BandedRange #

Bases: TypedDict

Attributes#
bandedRangeId instance-attribute #
bandedRangeId
range instance-attribute #
range
rowProperties instance-attribute #
rowProperties
columnProperties instance-attribute #
columnProperties

DimensionGroup #

Bases: TypedDict

Attributes#
range instance-attribute #
range
depth instance-attribute #
depth
collapsed instance-attribute #
collapsed

SlicerSpec #

Bases: TypedDict

Attributes#
dataRange instance-attribute #
dataRange
filterCriteria instance-attribute #
filterCriteria
columnIndex instance-attribute #
columnIndex
applyToPivotTables instance-attribute #
applyToPivotTables
title instance-attribute #
title
textFormat instance-attribute #
textFormat
backgroundColor instance-attribute #
backgroundColor
backgroundColorStyle instance-attribute #
backgroundColorStyle
horizontalAlignment instance-attribute #
horizontalAlignment

Slicer #

Bases: TypedDict

Attributes#
slicerId instance-attribute #
slicerId
spec instance-attribute #
spec

ColumnType #

Bases: StrEnum

Attributes#
COLUMN_TYPE_UNSPECIFIED class-attribute instance-attribute #
COLUMN_TYPE_UNSPECIFIED = 'COLUMN_TYPE_UNSPECIFIED'
TEXT class-attribute instance-attribute #
TEXT = 'TEXT'
NUMERIC class-attribute instance-attribute #
NUMERIC = 'NUMERIC'
BOOLEAN class-attribute instance-attribute #
BOOLEAN = 'BOOLEAN'
DATE class-attribute instance-attribute #
DATE = 'DATE'

TableColumnDataValidationRule #

Bases: TypedDict

Attributes#
rule instance-attribute #
rule

TableColumnProperties #

Bases: TypedDict

Attributes#
id instance-attribute #
id
label instance-attribute #
label
columnType instance-attribute #
columnType
dataValidationRule instance-attribute #
dataValidationRule

TableRowsProperties #

Bases: TypedDict

Attributes#
headerRowIndex instance-attribute #
headerRowIndex

Table #

Bases: TypedDict

Attributes#
tableId instance-attribute #
tableId
range instance-attribute #
range
headerValues instance-attribute #
headerValues
columns instance-attribute #
columns
dataExecutionStatus instance-attribute #
dataExecutionStatus
tableRows instance-attribute #
tableRows
borderColor instance-attribute #
borderColor
borderColorStyle instance-attribute #
borderColorStyle

SheetType #

Bases: StrEnum

Attributes#
SHEET_TYPE_UNSPECIFIED class-attribute instance-attribute #
SHEET_TYPE_UNSPECIFIED = 'SHEET_TYPE_UNSPECIFIED'
GRID class-attribute instance-attribute #
GRID = 'GRID'
OBJECT class-attribute instance-attribute #
OBJECT = 'OBJECT'
DATA_SOURCE class-attribute instance-attribute #
DATA_SOURCE = 'DATA_SOURCE'

GridProperties #

Bases: TypedDict

Attributes#
rowCount instance-attribute #
rowCount
columnCount instance-attribute #
columnCount
frozenRowCount instance-attribute #
frozenRowCount
frozenColumnCount instance-attribute #
frozenColumnCount
hideGridlines instance-attribute #
hideGridlines
rowGroupControlAfter instance-attribute #
rowGroupControlAfter
columnGroupControlAfter instance-attribute #
columnGroupControlAfter

DataSourceColumn #

Bases: TypedDict

Attributes#
reference instance-attribute #
reference
formula instance-attribute #
formula

DataSourceSheetProperties #

Bases: TypedDict

Attributes#
dataSourceId instance-attribute #
dataSourceId
columns instance-attribute #
columns
dataExecutionStatus instance-attribute #
dataExecutionStatus

SheetProperties #

Bases: TypedDict

Attributes#
sheetId instance-attribute #
sheetId
title instance-attribute #
title
index instance-attribute #
index
sheetType instance-attribute #
sheetType
gridProperties instance-attribute #
gridProperties
hidden instance-attribute #
hidden
tabColor instance-attribute #
tabColor
tabColorStyle instance-attribute #
tabColorStyle
rightToLeft instance-attribute #
rightToLeft
dataSourceSheetProperties instance-attribute #
dataSourceSheetProperties

Sheet #

Bases: TypedDict

Attributes#
properties instance-attribute #
properties
data instance-attribute #
data
merges instance-attribute #
merges
conditionalFormats instance-attribute #
conditionalFormats
filterViews instance-attribute #
filterViews
protectedRanges instance-attribute #
protectedRanges
basicFilter instance-attribute #
basicFilter
charts instance-attribute #
charts
bandedRanges instance-attribute #
bandedRanges
developerMetadata instance-attribute #
developerMetadata
rowGroups instance-attribute #
rowGroups
columnGroups instance-attribute #
columnGroups
slicers instance-attribute #
slicers
tables instance-attribute #
tables

NamedRange #

Bases: TypedDict

Attributes#
namedRangeId instance-attribute #
namedRangeId
name instance-attribute #
name
range instance-attribute #
range

BigQueryQuerySpec #

Bases: TypedDict

Attributes#
rawQuery instance-attribute #
rawQuery

BigQueryTableSpec #

Bases: TypedDict

Attributes#
tableProjectId instance-attribute #
tableProjectId
tableId instance-attribute #
tableId
datasetId instance-attribute #
datasetId

BigQueryDataSourceSpec #

Bases: TypedDict

Attributes#
projectId instance-attribute #
projectId
querySpec instance-attribute #
querySpec
tableSpec instance-attribute #
tableSpec

LookerDataSourceSpec #

Bases: TypedDict

Attributes#
instanceUri instance-attribute #
instanceUri
model instance-attribute #
model
explore instance-attribute #
explore

DataSourceParameter #

Bases: TypedDict

Attributes#
name instance-attribute #
name
namedRangeId instance-attribute #
namedRangeId
range instance-attribute #
range

DataSourceSpec #

Bases: TypedDict

Attributes#
parameters instance-attribute #
parameters
bigQuery instance-attribute #
bigQuery
looker instance-attribute #
looker

DataSource #

Bases: TypedDict

Attributes#
dataSourceId instance-attribute #
dataSourceId
spec instance-attribute #
spec
calculatedColumns instance-attribute #
calculatedColumns
sheetId instance-attribute #
sheetId

TimeOfDay #

Bases: TypedDict

Attributes#
hours instance-attribute #
hours
minutes instance-attribute #
minutes
seconds instance-attribute #
seconds
nanos instance-attribute #
nanos

DayOfWeek #

Bases: StrEnum

Attributes#
DAY_OF_WEEK_UNSPECIFIED class-attribute instance-attribute #
DAY_OF_WEEK_UNSPECIFIED = 'DAY_OF_WEEK_UNSPECIFIED'
MONDAY class-attribute instance-attribute #
MONDAY = 'MONDAY'
TUESDAY class-attribute instance-attribute #
TUESDAY = 'TUESDAY'
WEDNESDAY class-attribute instance-attribute #
WEDNESDAY = 'WEDNESDAY'
THURSDAY class-attribute instance-attribute #
THURSDAY = 'THURSDAY'
FRIDAY class-attribute instance-attribute #
FRIDAY = 'FRIDAY'
SATURDAY class-attribute instance-attribute #
SATURDAY = 'SATURDAY'
SUNDAY class-attribute instance-attribute #
SUNDAY = 'SUNDAY'

DataSourceRefreshDailySchedule #

Bases: TypedDict

Attributes#
startTime instance-attribute #
startTime

DataSourceRefreshWeeklySchedule #

Bases: TypedDict

Attributes#
startTime instance-attribute #
startTime
daysOfWeek instance-attribute #
daysOfWeek

DataSourceRefreshMonthlySchedule #

Bases: TypedDict

Attributes#
startTime instance-attribute #
startTime
daysOfMonth instance-attribute #
daysOfMonth

Interval #

Bases: TypedDict

Attributes#
startTime instance-attribute #
startTime
endTime instance-attribute #
endTime

DataSourceRefreshScope #

Bases: StrEnum

Attributes#
DATA_SOURCE_REFRESH_SCOPE_UNSPECIFIED class-attribute instance-attribute #
DATA_SOURCE_REFRESH_SCOPE_UNSPECIFIED = (
    "DATA_SOURCE_REFRESH_SCOPE_UNSPECIFIED"
)
ALL_DATA_SOURCES class-attribute instance-attribute #
ALL_DATA_SOURCES = 'ALL_DATA_SOURCES'

DataSourceRefreshSchedule #

Bases: TypedDict

Attributes#
enabled instance-attribute #
enabled
refreshScope instance-attribute #
refreshScope
nextRun instance-attribute #
nextRun
dailySchedule instance-attribute #
dailySchedule
weeklySchedule instance-attribute #
weeklySchedule
monthlySchedule instance-attribute #
monthlySchedule

SpreadsheetResource #

Bases: TypedDict

Attributes#
spreadsheetId instance-attribute #
spreadsheetId
properties instance-attribute #
properties
sheets instance-attribute #
sheets
namedRanges instance-attribute #
namedRanges
spreadsheetUrl instance-attribute #
spreadsheetUrl
developerMetadata instance-attribute #
developerMetadata
dataSources instance-attribute #
dataSources
dataSourceSchedules instance-attribute #
dataSourceSchedules

ValueRenderOption #

Bases: StrEnum

Attributes#
FORMATTED_VALUE class-attribute instance-attribute #
FORMATTED_VALUE = 'FORMATTED_VALUE'
UNFORMATTED_VALUE class-attribute instance-attribute #
UNFORMATTED_VALUE = 'UNFORMATTED_VALUE'
FORMULA class-attribute instance-attribute #
FORMULA = 'FORMULA'

DateTimeRenderOption #

Bases: StrEnum

Attributes#
SERIAL_NUMBER class-attribute instance-attribute #
SERIAL_NUMBER = 'SERIAL_NUMBER'
FORMATTED_STRING class-attribute instance-attribute #
FORMATTED_STRING = 'FORMATTED_STRING'

ValueRange #

Bases: TypedDict

Attributes#
range instance-attribute #
range
majorDimension instance-attribute #
majorDimension
values instance-attribute #
values

ValueInputOption #

Bases: StrEnum

Attributes#
INPUT_VALUE_OPTION_UNSPECIFIED class-attribute instance-attribute #
INPUT_VALUE_OPTION_UNSPECIFIED = (
    "INPUT_VALUE_OPTION_UNSPECIFIED"
)
RAW class-attribute instance-attribute #
RAW = 'RAW'
USER_ENTERED class-attribute instance-attribute #
USER_ENTERED = 'USER_ENTERED'

UpdateValuesResponse #

Bases: TypedDict

Attributes#
spreadsheetId instance-attribute #
spreadsheetId
updatedRange instance-attribute #
updatedRange
updatedRows instance-attribute #
updatedRows
updatedColumns instance-attribute #
updatedColumns
updatedCells instance-attribute #
updatedCells
updatedData instance-attribute #
updatedData

GHttpErrorDetails #

Bases: TypedDict

Attributes#
error_details instance-attribute #
error_details
reason instance-attribute #
reason
resp instance-attribute #
resp
status_code instance-attribute #
status_code
uri instance-attribute #
uri
traceback instance-attribute #
traceback