Description
This is the Python client library for Google's discovery based APIs. To get started, please see the full documentation for this library. Additionally, dynamically generated documentation is available for all of the APIs supported by this library.
google-api-python-client alternatives and similar packages
Based on the "Third-party APIs" category.
Alternatively, view google-api-python-client alternatives based on common mentions on social networks and blogs.
-
boto
For the latest version of boto, see https://github.com/boto/boto3 -- Python interface to Amazon Web Services -
Telethon
Pure Python 3 MTProto API Telegram client library, for bots too! -
facebook-sdk
Python SDK for Facebook's Graph API -
PRAW
PRAW, an acronym for "Python Reddit API Wrapper", is a python package that allows for simple access to Reddit's API. -
apache-libcloud
Apache Libcloud is a Python library which hides differences between different cloud provider APIs and allows you to manage different cloud resources through a unified and easy to use API. -
twython
Actively maintained, pure Python wrapper for the Twitter API. Supports both normal and streaming Twitter APIs. -
Gordon
ฮป Gordon is a tool to create, wire and deploy AWS Lambdas using CloudFormation -
facepy
Facepy makes it really easy to use Facebook's Graph API with Python -
django-wordpress
WordPress models and views for Django. -
hubspot3
python3.6+ hubspot client based on hapipy, but modified to use the newer endpoints and non-legacy python -
BucketStore
A simple library for interacting with Amazon S3. -
PYGA
PYGA: Python Google Analytics (ga.js) - Data Collection API -
Python-Onfleet
A full-featured Python wrapper for the Onfleet API. -
Citric
A client to the LimeSurvey Remote Control API 2, written in modern Python.
Updating dependencies is time-consuming.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of google-api-python-client or a related project?
README
Google API Client
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 forgoogle-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 and 3.11 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:
For development you will also need the following libraries:
Contributing
Please see our Contribution Guide. In particular, we love pull requests - but please make sure to sign the contributor license agreement.
*Note that all licence references and agreements mentioned in the google-api-python-client README section above
are relevant to that project's source code only.