🐍 The official Python client library for Google's discovery based APIs.
This library is considered complete and is in maintenance mode. This means that we will address critical bugs and security issues but will not add any new features.
This library is officially supported by Google. However, the maintainers of this repository recommend using Cloud Client Libraries for Python, where possible, for new code development. For more information, please visit Client Libraries Explained.
The 2.0 release of
google-api-python-clientis a significant upgrade compared to v1. Please see the Migration Guide for more information. As a result of caching the discovery documents, the size of this package is at least 50 MB larger compared to the previous version.
See the docs folder for more detailed instructions and additional documentation.
The maintainers of this repository recommend using Cloud Client Libraries for Python, where possible, for new code development due to the following reasons:
With Cloud Client Libraries for Python: - There is a separate client library for each API, so you can choose which client libraries to download. Whereas,
google-api-python-clientis a single client library for all APIs. As a result, the total package size for
google-api-python-clientexceeds 50MB. - There are stricter controls for breaking changes to the underlying APIs as each client library is focused on a specific API. - There are more features in these Cloud Client Libraries as each library is focused on a specific API, and in some cases, the libraries are owned by team who specialized in that API. - Developers will benefit from intellisense.
For more information, please visit Client Libraries Explained.
Although there are many benefits to moving to Cloud Client Libraries for Python, the maintainers want to emphasize that
google-api-python-clientwill continue to be supported.
For Google Ads API, we recommend using Google Ads API Client Library for Python.
For Google Firebase Admin API, we recommend using Firebase Admin Python SDK.
Install this library in a virtualenv using pip. virtualenv is a tool to create isolated Python environments. The basic problem it addresses is one of dependencies and versions, and indirectly permissions.
With virtualenv, it's possible to install this library without needing system install permissions, and without clashing with the installed system dependencies.
pip install virtualenv virtualenv source /bin/activate /bin/pip install google-api-python-client
pip install virtualenv virtualenv \Scripts\activate \Scripts\pip.exe install google-api-python-client
Python 3.6, 3.7, 3.8, and 3.9 are fully supported and tested. This library may work on later versions of 3, but we do not currently run tests against those versions.
Python < 3.6
Please see our Contribution Guide. In particular, we love pull requests - but please make sure to sign the contributor license agreement.