googleapis / googleapis/google-api-python-client
Disable prettyPrint by default for Google Sheets API responses
- Langage dominant
- Python
- Étoiles
- 8.9k
- Forks
- 2.6k
- Merge moyen
- 2 j 28 min
- PR mergées (30 j)
- 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.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- api
- Type d'issue
- Fonctionnalité
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 68/100