googleapis / googleapis/google-api-python-client

Disable prettyPrint by default for Google Sheets API responses

Open Beginner friendly
#2,788 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
8.9k
Forks
2.6k
Avg merge
2d 28m
Merged PRs (30d)
17

Description

Large Google Sheets API responses are currently pretty-printed by default. For machine-to-machine use, the additional whitespace and line breaks provide no benefit while increasing response size and I/O. When processing large responses, this can also contribute to unnecessary memory usage.

**Describe the solution you'd like**

Change the default value of `prettyPrint` from `true` to `false` for the Sheets API discovery document
and send `prettyPrint=false` unless the caller says otherwise.

**Describe alternatives you've considered**

The current workaround is to explicitly pass `prettyPrint=False` to every request. This works, but requires application code to opt out of an unnecessary default and is easy to miss, especially in codebases making many Sheets API requests.

Another option would be to modify the client code to inject `prettyPrint=False`, but changing the API discovery document's default seems simpler and more consistent with the intended API behavior.

Additional context

This is particularly relevant for applications processing large Sheets responses programmatically. Avoiding pretty printing would reduce the amount of data transferred and processed, as well as the memory required to hold the response in memory. For large responses, this can also help reduce peak process RSS.

As a bonus, this would make the default more appropriate for API clients, where responses are consumed programmatically rather than displayed directly to users.

Contributor guide

Open the contributing guide

Research direction

Locate the Sheets API discovery document in the repository and search for the prettyPrint parameter and its default. Change the documented default to false while preserving an explicit caller value, then run the relevant test suite or discovery-document tests to verify requests use prettyPrint=false by default.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.