google

google-api-python-client: Access Google Discovery APIs from Python

An officially supported Python client for Google APIs described by discovery documents. It suits existing integrations and APIs without a dedicated Cloud Client Library, but is in maintenance mode and Google recommends Cloud Client Libraries for most new development.

Stars
8.9k
Forks
2.6k
Stars, last 8 days
+7

Our take

Health score

66/100

How it is scored
Activity
65
Community
88
Issues
58
Pull requests
52

+7 stars in the last 8 days

  • More contributors than 77% of the projects we track

Overview

google-api-python-client is a general-purpose Python library for calling Google's discovery-based APIs. It provides a shared client interface for many APIs, so developers can work with those services without adopting a separate generated client package for each one.

The project is in maintenance mode: it remains supported for critical bugs and security issues, but does not plan new features. It is a practical fit for maintaining existing integrations or APIs without a suitable Cloud Client Library. For most new projects, the maintainers recommend considering the API-specific Cloud Client Libraries for Python.

Key Features

  • Provides a Python client for Google's discovery-based APIs.
  • Uses discovery documents cached in the library rather than fetching them dynamically when discovery.build() is called.
  • Offers one package for multiple APIs, rather than a separate package for each API.
  • Supports Python 3.10 and newer in the current release line.
  • Is officially supported by Google and continues to receive critical bug and security fixes.
  • Includes documentation and a migration guide in the repository.

Use Cases

  • Maintain an existing Python application that already depends on this client.
  • Integrate with a Google discovery-based API that does not have a suitable API-specific client library.
  • Build a tool that needs access to multiple supported Google APIs through one package.
  • Upgrade a supported Python project from the 1.x release line, following the migration guide.

Getting Started

Install the package with pip:

pip install google-api-python-client

See the documentation and README for setup and usage details.

Considerations

  • The project is in maintenance mode, so new features are not planned.
  • Current releases support Python 3.10 and newer. Python versions below 3.10 are unsupported by this release line.
  • The package includes cached discovery documents and is at least 50 MB larger than the previous version, according to the project documentation.
  • Google recommends API-specific Cloud Client Libraries for Python for new development where available. The maintainers cite smaller per-API installs, more API-focused features, and stricter controls for breaking changes as advantages.
  • Google Ads and Firebase Admin integrations have separate recommended Python libraries, documented in the README.

Found this useful?

Share it with someone who would like google-api-python-client.