MCPcopy Index your code
hub / github.com/googleapis/google-api-python-client

github.com/googleapis/google-api-python-client @v2.198.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.198.0 ↗ · + Follow
868 symbols 3,554 edges 88 files 300 documented · 35% 25 cross-repo links updated 6d agov2.198.0 · 2026-06-25★ 8,87221 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Google API Client

PyPI version

This is the Google API Python client library for Google's discovery based APIs. To get started, please see the docs folder.

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.

Version 2.0 Release

The 2.0 release of google-api-python-client includes a substantial reliability improvement, compared with 1.x, as discovery documents are now cached in the library rather than fetched dynamically. It is highly recommended to upgrade from v1.x to v2.x.

Only python 3.7 and newer is supported. If you are not able to upgrade python, then please continue to use version 1.x as we will continue supporting python 2.7+ in v1.

Discovery documents will no longer be retrieved dynamically when you call discovery.build(). The discovery documents will instead be retrieved from the client library directly. New versions of this library are released weekly. As a result of caching the discovery documents, the size of this package is at least 50 MB larger compared to the previous version.

Please see the Migration Guide for more information.

Documentation

See the docs folder for more detailed instructions and additional documentation.

Other Google API libraries

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-client is a single client library for all APIs. As a result, the total package size for google-api-python-client exceeds 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-client will 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.

Installation

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.

Mac/Linux

pip3 install virtualenv
virtualenv <your-env>
source <your-env>/bin/activate
<your-env>/bin/pip install google-api-python-client

Windows

pip install virtualenv
virtualenv <your-env>
<your-env>\Scripts\activate
<your-env>\Scripts\pip.exe install google-api-python-client

Supported Python Versions

Python 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 and 3.13, 3.14 are fully supported and tested. This library may work on later versions of 3, but we do not currently run tests against those versions.

Unsupported Python Versions

Python < 3.7

Third Party Libraries and Dependencies

The following libraries will be installed when you install the client library: * httplib2 * uritemplate

For development you will also need the following libraries: * WebTest * pyopenssl

Contributing

Please see our Contribution Guide. In particular, we love pull requests - but please make sure to sign the contributor license agreement.

Core symbols most depended-on inside this repo

get
called by 179
samples/appengine/main.py
execute
called by 106
googleapiclient/http.py
build
called by 96
googleapiclient/discovery.py
get
called by 63
googleapiclient/schema.py
build_from_document
called by 59
googleapiclient/discovery.py
build_http
called by 29
googleapiclient/http.py
read
called by 23
googleapiclient/http.py
add
called by 21
googleapiclient/http.py

Shape

Method 539
Function 212
Class 111
Route 6

Languages

Python98%
TypeScript2%

Modules by API surface

tests/test_discovery.py196 symbols
tests/test_http.py109 symbols
googleapiclient/http.py79 symbols
googleapiclient/discovery.py43 symbols
googleapiclient/model.py29 symbols
tests/test__auth.py28 symbols
tests/test_json_model.py26 symbols
googleapiclient/errors.py22 symbols
tests/test_schema.py20 symbols
tests/test__helpers.py20 symbols
docs/epy/epydoc.js18 symbols
googleapiclient/schema.py16 symbols

Dependencies from manifests, versioned

flaky3.8.1 · 1×
google-auth2.30.0 · 1×
google-auth-httplib20.2.0 · 1×
pandas2.2.2 · 1×
pytest7.4.4 · 1×

Datastores touched

(mongodb)Database · 1 repos
recordsrecordsDatabase · 1 repos

For agents

$ claude mcp add google-api-python-client \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact